Как работает Freetext() в службе индексирования?
Это мой запрос, который я использую в тестовом приложении ASP.NET(C#):
SELECT Filename,Size,PATH,Characterization,Rank,Create
FROM testCatalog..Scope('Deep traversal of "\\D\myCatalogFolder"')
WHERE Freetext('test')
ORDERBY Rank DESC
Я думал, что это работает хорошо, пока я не проверил результаты более глубоко. Я признал, что есть много результатов, которые не встречаются ни в одном из тестов! Как я могу исправить свой запрос, чтобы получить только те результаты, которые соответствуют моему поиску?
Есть ли какой-нибудь эксперт службы индексирования, который может помочь?
1 ответ
Решение
FREETEXT
не ищет конкретную строку; он пытается найти вхождения строки или что-то с эквивалентным значением. Если вы просто хотите найти конкретное слово или фразу, используйте CONTAINS
,
WHERE CONTAINS(Column, 'text')