SQL-server 2008 и Full Text Index.(ошибочный результат)
От: blonduser  
Дата: 28.11.14 10:04
Оценка:
Всем доброго времени суток.

В таблице включен Full Text Index.
Для выбора данных использую функцию CONTAINS(<поле1>,'"слово1 слово2 слово3"').
На небольшой базе данных в которой нет обновления данных функция отрабатывает правильно.

На большой базе данных в которой идет активное обновление данных, функция "дурит"
и возвращает данные для указанного варианта, хотя ни в одной записи нет такой фразы.

Если вызвать функцию такого вида CONTAINS(<поле1>,'"слово1 слово2"'),
то возвращается пустой набор данных(такой фразы нет).

Кто сталкивался с подобным и как это удалось побороть?

Спасибо.
Re: SQL-server 2008 и Full Text Index.(ошибочный результат)
От: BlackEric http://black-eric.lj.ru
Дата: 28.11.14 13:12
Оценка:
Здравствуйте, blonduser, Вы писали:


B>Всем доброго времени суток.


B>В таблице включен Full Text Index.

B>Для выбора данных использую функцию CONTAINS(<поле1>,'"слово1 слово2 слово3"').
B>На небольшой базе данных в которой нет обновления данных функция отрабатывает правильно.

B>На большой базе данных в которой идет активное обновление данных, функция "дурит"

B>и возвращает данные для указанного варианта, хотя ни в одной записи нет такой фразы.

B>Если вызвать функцию такого вида CONTAINS(<поле1>,'"слово1 слово2"'),

B>то возвращается пустой набор данных(такой фразы нет).

B>Кто сталкивался с подобным и как это удалось побороть?


B>Спасибо.


Я не сталкивался, но могу предположить, что индекс по каким-то причинам устаревает и его нужно перестраивать. Обновления все установлены?
https://github.com/BlackEric001
Re[2]: SQL-server 2008 и Full Text Index.(ошибочный результат)
От: blonduser  
Дата: 28.11.14 13:25
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Здравствуйте, blonduser, Вы писали:



B>>Всем доброго времени суток.


B>>В таблице включен Full Text Index.

B>>Для выбора данных использую функцию CONTAINS(<поле1>,'"слово1 слово2 слово3"').
B>>На небольшой базе данных в которой нет обновления данных функция отрабатывает правильно.

B>>На большой базе данных в которой идет активное обновление данных, функция "дурит"

B>>и возвращает данные для указанного варианта, хотя ни в одной записи нет такой фразы.

B>>Если вызвать функцию такого вида CONTAINS(<поле1>,'"слово1 слово2"'),

B>>то возвращается пустой набор данных(такой фразы нет).

B>>Кто сталкивался с подобным и как это удалось побороть?


B>>Спасибо.


BE>Я не сталкивался, но могу предположить, что индекс по каким-то причинам устаревает и его нужно перестраивать. Обновления все установлены?


Все дело в том, что индекс там постоянно перестраивается в свойстве "Table Full-Text Docs Processed" — постоянно весят тысячи записей и до нуля ни разу не опускался.
Попробую проверить обновления.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.