特定の文字列のデータベース列で最も一致する文字列を見つけたいです。検索した後、次のテーブルとクエリを思いつきました
CREATE TABLE docs (id NUMBER PRIMARY KEY, text VARCHAR2(200));
INSERT INTO docs VALUES(1, 'California is a state in the US.');
INSERT INTO docs VALUES(2, 'Paris is a city in France.');
INSERT INTO docs VALUES(3, 'France is in Europe.');
INSERT INTO docs VALUES(4, 'Paris');
CREATE INDEX idx_docs ON docs(text)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
('DATASTORE CTXSYS.DEFAULT_DATASTORE');
SELECT SCORE(1), id, text
FROM docs
WHERE CONTAINS(text, 'fuzzy(Parsi,1,1)', 1) > 0;
類似度スコアを最小値、つまり 1 に設定しました。「Parsi」や「Parse」などの検索文字列で機能します。必要な結果が得られます。しかし、検索文字列が「par」や「pa」のように小さすぎると、結果が表示されません。
非常に短い文字列を使用して検索する場合でも、最も近い一致を取得するにはどうすればよいですか?