У меня есть база данных в SQL Server 2008 с индексами полного текста. Я определил «Stop» в «Стоп-лист». Однако, когда я ищу любую фразу с ключевым словом «al», слово «al» по-прежнему остается в ранжировании.Поиск по полнотекстовому поиску: поиск нужных слов
Это может быть связано с тем, что я разбиваю поисковые запросы и восстанавливаю их. Затем я просматриваю несколько полей и оцениваю результаты: http://pastebin.com/fdce11ff. Эти функции, чтобы разбить поиск
'al hamra'
в
("*al*" ~ "*hamra*") OR ("*al*" OR "*hamra*")
для полнотекстового поиска.
Представьте себе такой сценарий:
Название: Al Hamra, Автор: Джек Браун Жанр: фантастика Аль Karawan, Автор: Al Ганц, Жанр: Мелодрама
Теперь поиск «Аль-Хамра ' вернет ' Al Karawan ', несмотря на то, что ' al ' находится в списке. Почему это? Я думал, что стоп-листы заставят слова потерять свой вес?
Запрос показал 'al' как точное совпадение. Я обнаружил, что «аль» был в английском стоп-листе. Поэтому я очистил стоп-лист и добавил «al» в Neutral. Однако теперь он не отображается, когда я запускаю http://pastebin.com/m6d9fc5f4. Я подтвердил, что он присутствует, потому что я не могу его повторно добавить (дает ошибку). В запросе, о котором вы упоминали, показывается «al» как точное совпадение. –
О, чтобы уточнить, мой каталог перечисляет все полные текстовые индексы в «Нейтральном». –
Попытался изменить язык стоп-листов и всех текстовых индексов на английский. Список остановок теперь показывает использование запроса http://pastebin.com/m6d9fc5f4, но выполнение вашего запроса по-прежнему показывает «al» как точное соответствие :( –