У меня есть запрос с предложениями ниже, чтобы получить наилучшие совпадающие запросы. У меня есть ниже двух значений в таблице:Ожидающие точные результаты при использовании предложения contains в Oracle
1. TRUSTS ACT 1973 and
2. TRUST ACCOUNTS ACT 1973.
Когда я ищу, используя ниже запроса со строкой «ТРАСТ ACT 1973», для этого поиска фактический результат приходит как TRUST ACCOUNTS ACT 1973
. Но я ожидаю точный результат как *TRUSTS ACT 1973*
.
Запрос:
SELECT
/*+first_rows(11) index(a fuzzy_leg_nm_idx)*/
a.unique_legislation_id,
a.legislation_name,
a.jurisdiction,
score(1) sc
FROM AU_LEG_PARALLEL_FUZZY a
WHERE contains (legislation_name,
'<query>
<textquery lang="ENGLISH" grammar="CONTEXT"> '
|| '<progression>
<seq>{TRUST} ACCUM {ACT} ACCUM {1973}</seq>
</progression>
</textquery>
<score datatype="INTEGER" algorithm="COUNT"/>
</query>', 1) > 0
ORDER BY score(1) DESC;