1. 查詢住址在北京的學生
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'beijing' )
remark: beijing是一個單詞,要用單引號括起來。
2. 查詢住址在河北省的學生
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"HEIBEI province"' )
remark: HEBEI province是一個片語,在單引號裡還要用雙引號括起來。
3. 查詢住址在河北省或北京的學生
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"HEIBEI province" OR beijing' )
remark: 可以指定邏輯操作符(包括 AND ,AND NOT,OR )。
4. 查詢有 '南京路' 字樣的地址
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'nanjing NEAR road' )
remark: 上面的查詢將返回包含 'nanjing road','nanjing east road','nanjing west road' 等字樣的地址。
A NEAR B,就表示條件: A 靠近 B。
5. 查詢以 '湖' 開頭的地址
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"hu*"' )
remark: 上面的查詢將返回包含 'hubei','hunan' 等字樣的地址。
記住是 *,不是 %。
6. 類似加權的查詢
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'ISABOUT (city weight (.8), county wright (.4))' )
remark: ISABOUT 是這種查詢的關鍵字,weight 指定了一個介於 0~1之間的數,類似係數(我的理解)。表示不同條件有不同的側重。
7. 單詞的多態查詢
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'FORMSOF (INFLECTIONAL,street)' )
remark: 查詢將返回包含 'street','streets'等字樣的地址。
對於動詞將返回它的不同的時態,如:dry,將返回 dry,dried,drying 等等。
8. 詞查詢樣本
詞查詢是對輸入到 CONTAINS 運算子中單引號間的精確單詞或短語的查詢。在以下樣本中,我們將尋找文本列中包含 oracle 一詞的所有文檔。每行的分值由使用標籤 1 的 SCORE 運算子選定:
SELECT SCORE(1) title from news WHERE CONTAINS(text,'oracle',1)> 0;
在查詢運算式中,可以使用 AND 和 OR 等文本運算子來擷取不同結果。還可以將結構性謂詞添加到 WHERE 子句中。可以使用 count(*)、CTX_QUERY.COUNT_HITS 或 CTX_QUERY.EXPLAIN 來計算查詢的命中 (匹配) 數目。
9 ABOUT查詢樣本
在所有語言中,ABOUT查詢增加了某查詢所返回的相關文檔的數目。在英語中,ABOUT 查詢可以使用索引的主題片語件,該組件在預設情況下建立。這樣,運算子將根據查詢的概念返迴文檔,而不是僅依據所指定的精確單詞或短語。例如,以下查詢將尋找文本列中關於主題 politics 的所有文檔,而不是僅包含 politics 一詞的文檔:
SELECT SCORE(1) title from news WHERE CONTAINS(text, 'about(politics)', 1) > 0;