SQL Server Полнотекстовый поиск - без попадания, хотя слово присутствует - PullRequest
0 голосов
/ 10 февраля 2010

У меня проблемы с полнотекстовым поиском в SQL Server 2005. В моей настройке я индексирую один столбец, назовем его Content. Индексирование выполняется в нейтральной культуре, поскольку столбец может содержать текст на разных языках. Полнотекстовый индекс создается следующим образом:

CREATE FULLTEXT INDEX
 ON [dbo].[Table1]([Content])
KEY INDEX [UI_Table1_Id] ON [Catalog]
WITH CHANGE_TRACKING AUTO

Эта таблица заполнена. Затем пользователи могут выполнять запросы к индексу. Запросы выглядят примерно так:

SELECT * FROM Table1 AS table1
INNER JOIN CONTAINSTABLE (Table1, Content, @0 , LANGUAGE 1033) AS KEY_TBL 
ON table1.Id = KEY_TBL.[KEY]
WHERE table1.locale = 'en-US'

Как я уже сказал, столбец контента содержит разные языки. таким образом, ЯЗЫК (и table1.locale = 'en-US' в CONTAINSTABLE может измениться, например, на датский, английский или шведский LCID.

У меня одна проблема. Если столбец заполнен текстом, содержащим слово «концептитель», и я запрашиваю его, я не получаю хитов, если использую шведский язык (ЯЗЫК 1053). Я получу удар, если я использую английский (ЯЗЫК 1033) для того же слова.

Ранее я получил «Информационный: условие полнотекстового поиска содержало шумовые слова». сообщение об ошибке. Затем я очистил список шведских стоп-слов. Теперь я не получаю сообщения об ошибке, но все равно не могу получить ответ на свой запрос.

Можно ли настроить полнотекстовый поиск SQL Server для вывода большего количества диагностической информации, чем эта? Есть ли, например, как мне узнать, какое слово содержит условие полнотекстового поиска?

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

Обновление : Мне интересно, возможно, я неправильно истолковал настройку полнотекстового поиска. Может ли это быть связано с тем, что я индексирую контент в нейтральной культуре и опрашиваю в определенной культуре? Должен ли я всегда использовать нейтральную культуру при запросе?

1 Ответ

0 голосов
/ 10 февраля 2010

В моей работе с файлами FTS и шумами вам необходимо перезапустить службу (служба FTS), а затем запустить обновление населения.

В зависимости от размера вы можете просто захотеть удалить индекс и воссоздать его.

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