クエリでcontains()メソッドを使用すると、不要な結果がたくさん発生します。のようなものを使用するように私に言わないでください。ハードコードされており、変更できませんでした。
104440 次
2 に答える
23
含むは、検索用のテキストフィールドにインデックスを付ける「CONTEXTインデックス」を持つテキストフィールドで使用されます。標準的な使用法は次のとおりです(score
演算子を使用して、1の1と一致するcontains
1に基づいて句から返されるものを表示します):contains
score
SELECT score(1), value
FROM table_name
WHERE CONTAINS(textField, 'searchString', 1) > 0;
表のこのようなデータの場合table_name
value | textField
-------|-----------------------------------------------
A | 'Here is searchString. searchString again.'
B | 'Another string'
C | 'Just one searchString'
そのクエリは
2 A
1 C
したがって、containsはlikeに似ていますが、テキストフィールドで文字列が出現する回数をカウントします。dFullText
投稿したクエリで使用されている方法を含むを使用してリソースを見つけることができませんでしたが、少なくとも1つのインスタンスが含まcar
れている行、またはこのSQLと同等の行が返されると思います。
Select * from blabla where dFullText like "%car%"
ここに別の情報源があります。
于 2010-03-19T19:32:01.557 に答える
1
oracle.comのこの例を参照してください
declare
rowno number := 0;
begin
for c1 in (SELECT SCORE(1) score, title FROM news
WHERE CONTAINS(text, 'oracle', 1) > 0
ORDER BY SCORE(1) DESC)
loop
rowno := rowno + 1;
dbms_output.put_line(c1.title||': '||c1.score);
exit when rowno = 10;
end loop;
end;
于 2010-03-12T07:21:34.527 に答える