Oracle で次のテキスト検索クエリを実行すると:
SELECT SCORE(1), text_search
FROM search
WHERE contains(text_search, 'fuzzy(citi, 70, 100, WEIGHT) within Name', 1) > 0
ORDER BY SCORE(1) DESC
最高スコア 100 の返されたレコードは、'citi' に類似した単語を複数含むレコードです:
City of Kansas City - スコア 100
しかし、完全一致を含むレコードのスコアは 76 しかありません:
Citi Group - スコア 76
類似語を 1 つだけ含むレコードのスコアは 53アビリーン
市- スコア 53
完全一致のレコードが最高のスコアを持つべきではありませんか? それを達成する方法はありますか?
80に増やすsimilarity_score
と、'city' を含むレコードは返されなくなります。ただし、それにより、他の検索で返されるレコードの数が減ります。
2に減らすnumterms
と、'city' を含むレコードは返されなくなります (明らかに、Oracle は 'city' を 'citi' の 2 番目に類似した単語と見なしていません)。ただし、これにより、他の検索で返されるレコードの数が再び減少します。