Как мне сделать поиск близости в Oracle правильно? - PullRequest
0 голосов
/ 17 июня 2010

Оператор Oracle NEAR для полнотекстового поиска возвращает оценку, основанную на близости двух или более условий запроса.Например:

near ((собака, прикус), 6)

соответствует, если слова "собака" и "укус" встречаются в пределах 6 слов.Что если бы я хотел, чтобы это совпадало, если «собака», «кошка» или любой другой тип животного встречаются в пределах 6 слов слова «кусать»?Я пытался:

рядом (((собака ИЛИ кошка ИЛИ животное), прикус), 6)

но я получил:

NEAR операнд, а не фраза, эквивалентность или другое выражение NEAR

Вместо того, чтобы разбивать все возможные комбинации на несколько NEAR и «или» их вместе, как правильно написать такой запрос?

1 Ответ

1 голос
/ 17 июня 2010

Похоже, что оператор EQUIV должен это сделать. Документ № .

Вы также можете использовать эквивалентность оператор, чтобы заменить один термин в ближайшем запросе:

'рядом ((фондовый крах, Япония = Корея), 20)'

Этот запрос запрашивает все документы, которые содержит фразу фондового сбоя в двадцать слов о Японии или Корее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...