2

У меня есть SQL Server 2005 Express Edition с расширенными службами. Я включил полнотекстовый и создал каталог следующим образом:SQL Server Полнотекстовый поиск не дает результатов

create FullText catalog MyDatabase_FT in path 'mypath' as default 

Затем я создал полнотекстовый индекс следующим образом:

create FullText index on Cell (CellName) key index PK_Cell 
    with CHANGE_TRACKING AUTO 

я выполнил следующие запросы:

1) select count(*) from Cell where contains (CellName, 'CU*') 
2) select count(*) from Cell where CellName like 'CU%' 

И получил следующее результаты:

1) 0
2) 24

Я понимаю, что для заполнения индексов FullText может потребоваться некоторое время. Однако, несмотря на много времени (12 часов), я до сих пор не получаю никаких результатов. Затем я исследовал далее с помощью функции ObjectPropertyEx() и выполняются следующие действия:

declare @id int 
select @id = id FROM sys.sysobjects where [Name] = 'Cell' 
select 'TableFullTextBackgroundUpdateIndexOn' as 'Property', objectpropertyex(@id, 'TableFullTextBackgroundUpdateIndexOn') as 'Value' 
union select 'TableFullTextChangeTrackingOn', objectpropertyex(@id, 'TableFullTextChangeTrackingOn') 
union select 'TableFulltextDocsProcessed', objectpropertyex(@id, 'TableFulltextDocsProcessed') 
union select 'TableFulltextFailCount', objectpropertyex(@id, 'TableFulltextFailCount') 
union select 'TableFulltextItemCount', objectpropertyex(@id, 'TableFulltextItemCount') 
union select 'TableFulltextKeyColumn', objectpropertyex(@id, 'TableFulltextKeyColumn') 
union select 'TableFulltextPendingChanges', objectpropertyex(@id, 'TableFulltextPendingChanges') 
union select 'TableHasActiveFulltextIndex', objectpropertyex(@id, 'TableHasActiveFulltextIndex') 

Это дало следующие результаты:

TableFullTextBackgroundUpdateIndexOn 1
TableFullTextChangeTrackingOn 1
TableFulltextDocsProcessed 11024
TableFulltextFailCount 0
TableFulltextItemCount 4038
ТаблицаFulltextKeyColumn 1
TableFulltextPendingChanges 0
TableHasActiveFulltextIndex 1

Затем я попытался сделать свежую полную популяцию индекса следующим образом:

alter fulltext index on Cell start full population 

И я получаю следующее предупреждение:

Warning: Request to start a full-text index population on table or indexed view 'Cell' is ignored because a population is currently active for this table or indexed view.

I попробовал популяцию обновлений следующим образом:

alter fulltext index on Cell start update population 

Это вернулось: «Команда успешно завершена». Однако я не получаю результатов поиска FullText.

Что мне не хватает? Что мне нужно сделать, чтобы работать с FullText?

Спасибо, Elan

ответ

4

Ну все сводилось к форматированию поиска текста он.

Это было неправильно:

select count(*) from Cell where contains (CellName, 'CU*') 

Это было правильно:

select count(*) from Cell where contains (CellName, '"CU*"') 

Все работает отлично!

Смежные вопросы