MS SQL Full-Text Search
От: Lathe Россия  
Дата: 21.12.08 03:39
Оценка:
Добрый день, столкнулся с такой проблемой:

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

Использую MS SQL Server 2008.
Сначала пользовал FREETEXTTABLE, но он срабатывает даже если встречается только одно слово.
На пример, для запроса "домик в деревне" он находит "ЕЛОЧНОЕ УКРАШЕНИЕ ДОМИК".
Попробовал использовать CONTAINSTABLE с запросом вида:
FORMSOF(Inflectional,"Домик") AND FORMSOF(Inflectional,"в") AND FORMSOF(Inflectional,"Деревне")
или
FORMSOF(Inflectional,"Домик") AND "в" AND FORMSOF(Inflectional,"Деревне")
так эта зараза срубается на стоп-словах , те на запрос FORMSOF(Inflectional,"в") или просто "в" возвращает всегда False.
Стоп слова бывают разные, разной длины и тд, так что каждое слово запроса пробивать на наличие в стоп листе не хотелось бы.

В общем такой вопрос можно как-нить заставить SQL Server искать словоформы всех слов указанных в запросе и желательно расположенных не далеко друг от друга.

Заранее спасибо за помощь
Чаще делайте вид, что вы умный...привыкнут:-)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.