Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Полнотекстовый поиск. Очередные сюрпризы  [new]
Уппит Сергей
Member

Откуда:
Сообщений: 12
Добрый день. В продолжении этой темы: https://www.sql.ru/forum/1143306/polnotekstovyy-poisk-neponyatnoe-povedenie-pri-poiske-odnih-tolko-cifr

При работе полнотекстового поиска возникла очередная непонятная мне коллизия. Прикладываю скриншот проблемы, где видно какие запросы я пишу.
В кратце, есть запись с артикулом A-AAU6540. Я ее могу легко найти. Это видно по первому запросу. Далее начинаем искать по комбинациям: Полный артикул - не ищется! Вот что странно. Дальше комбинации "А-А" и "А-АА", вот во втором случае тоже ничего не ищется.
Даже выводов делать не хочется, почему так. Однако факт, что такая комбинация в упор не хочет находиться.

P.S. Переиндексацию всего полнотекстового каталога сделал. Не помогло.

К сообщению приложен файл. Размер - 126Kb
27 фев 15, 08:48    [17319214]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31950
Уппит Сергей
Прикладываю скриншот проблемы, где видно какие запросы я пишу.
Лучше прикладывать текст в теге SRC

Уппит Сергей
В кратце, есть запись с артикулом A-AAU6540. Я ее могу легко найти. Это видно по первому запросу. Далее начинаем искать по комбинациям: Полный артикул - не ищется! Вот что странно. Дальше комбинации "А-А" и "А-АА", вот во втором случае тоже ничего не ищется.
Для начала нужно искать без ведущей *

Ну и посмотрите подробнее, что и как.

Посмотрите, какие слова проиндексированы для таблицы, см.:
sys.dm_fts_index_keywords
sys.dm_fts_index_keywords_by_document

Какие слова находятся у вашего выражения, см.:
sys.dm_fts_parser
27 фев 15, 10:07    [17319453]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
Уппит Сергей
Member

Откуда:
Сообщений: 12
Убрал звездочку в начале - не помогло. Комбинация "A-AA*" не ищется всеравно.
Подскажите, пожалуйста где можно найти эти таблицы?

автор
Посмотрите, какие слова проиндексированы для таблицы, см.:
sys.dm_fts_index_keywords
sys.dm_fts_index_keywords_by_document

Какие слова находятся у вашего выражения, см.:
sys.dm_fts_parser
27 фев 15, 10:44    [17319607]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Уппит Сергей
Убрал звездочку в начале - не помогло. Комбинация "A-AA*" не ищется всеравно.
Подскажите, пожалуйста где можно найти эти таблицы?

Это не таблицы. Это динамические представления. В System View
27 фев 15, 11:05    [17319775]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31950
Уппит Сергей
Подскажите, пожалуйста где можно найти эти таблицы?
Эти функции/представления на сервере, в вашей базе, делаете запрос, они работают.

Искать их надо в хелпе, по названиям. Там будет описание, какие паарметры им передавать, и с примерами. Я уж сюда не стал хелп копировать :-)
27 фев 15, 11:09    [17319805]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
Уппит Сергей
Member

Откуда:
Сообщений: 12
Как задал вопрос - понял, что сморозил глупость. Я запустил рекомендуемые процедуры. Вот такие у меня запросы были:

SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('1gb_x_aa_p'), object_id('Products'))
where display_term like '%AA%';

SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('1gb_x_aa_p'), object_id('Products'))
where display_term like '%A-A%';

SELECT * FROM sys.dm_fts_parser ('"A-AA*"', 1049, 0, 0);
SELECT * FROM sys.dm_fts_parser ('"A-A*"', 1049, 0, 0);


Получил результаты, которые прикладываю картинкой.
Получается, что комбинаций а-а вообще нет. Следовательно мои "А-АА" и не находятся. Угу. Это уже хорошо.
Но плохо, что не находятся.
Подскажите, есть ли пути выхода из сложившейся ситуации? Может можно как - то повлиять на заполнение данных индексов?

К сообщению приложен файл. Размер - 143Kb
27 фев 15, 11:15    [17319861]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
автор
Получается, что комбинаций а-а вообще нет. Следовательно мои "А-АА" и не находятся.

Попробуйте простую вещь - скопипастите "А-АА" из артикула и вставьте в запрос. Часто бывает символ в другой кодировке.
27 фев 15, 11:37    [17320008]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
Уппит Сергей
Member

Откуда:
Сообщений: 12
автор
Попробуйте простую вещь - скопипастите "А-АА" из артикула и вставьте в запрос. Часто бывает символ в другой кодировке.


К сожалению проблема не в этом. Попробовал. С кодировкой все впорядке. Английская.
27 фев 15, 11:48    [17320084]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстовый поиск. Очередные сюрпризы  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Надо почитать про разделители слов SQL Server при разборках текста.
27 фев 15, 11:53    [17320119]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить