2010-07-26 2 views
2

Может ли кто-нибудь подтвердить, что в рамках поиска в свободном тексте запрос Word1 NEAR Word2 идентичен Word2 NEAR Word1?SQL-сервер Свободный текстовый поиск - оператор NEAR

Так что порядок слов не имеет отношения к делу.

Я пытаюсь выделить результаты, и если это так, мне нужно искать случаи отмены первоначальных слов слова поиска.

ответ

2

Я проверил быструю проверку базы данных, имеющейся у меня с индексом свободного текста, и результаты запроса не меняются в зависимости от порядка слов в запросе NEAR. Другими словами, следующие два запроса возвращаются те же самые результаты в том же порядке:

SELECT * FROM DOCUMENT WHERE CONTAINS (Contents, 'health NEAR medical') 

SELECT * FROM DOCUMENT WHERE CONTAINS (Contents, 'medical NEAR health') 

Так что я бы заключить там нет никакой разницы. Это подкреплено the documentation, который гласит:.

«NEAR показывает логическое расстояние между терминами, а не абсолютного расстояния между ними для Например, термины в различных фраз или предложений в рамках пункта а являются рассматриваются как дальше друг от друга, чем терминов в одной и той же фразы или предложения , независимо от их фактического близости, при условии, что они являются менее связаны между собой. кроме того, члены различных пунктах рассматриваются как будучи еще дальше Кроме."

Учитывая, что расстояние между двумя словами всегда будет одинаковым, независимо от порядка, то я не вижу, что это будет иметь значение, и мои тесты подтвердят это.

0

Кажется очевидным, когда выписано - спасибо за запуск теста.

Насколько я могу судить, единственной мерой «близости» двух слов является то, что значение ранга FTS 1 равнозначно разнице в 50 слов.

Предполагается, что ранг 100 указывает, что словосочетание отсутствует, то есть слова являются последовательными.

0
SELECT fld_Description 
FROM tbl_ProductDescription 
WHERE CONTAINS(fld_Description , 'bike NEAR performance');