У меня есть индексированное представление с двумя столбцами, символом первичного ключа и полем для полнотекстовой индексации varchar (300).Мне нужно выполнить поиск в базе данных MS Great Plains, поэтому я создал представление для заполнения поля сцепленными значениями из моей первичной таблицы IV00101.
CREATE VIEW SearchablePartContent WITH SCHEMABINDING AS
SELECT ITEMNMBR, rtrim(ITEMNMBR)+' '+rtrim(ITMSHNAM)+' '+rtrim(ITMGEDSC)
as SearchableContent
FROM dbo.IV00101
GO
-- create the index on the view to be used as full text key index
CREATE UNIQUE CLUSTERED INDEX IDX_ITEMNMBR ON SearchablePartContent(ITEMNMBR)
CREATE FULLTEXT INDEX ON SearchablePartContent(SearchableContent) KEY INDEX IDX_ITEMNMBR ON Cat1_PartContent
WHILE fulltextcatalogproperty('Cat1_PartContent','populatestatus') <> 0
BEGIN
WAITFOR DELAY '00:00:01'
END
Проблема заключается в том, что при выполнении поиска по определенному ключевому слову(s) это даст неожиданные результаты.Например, простой запрос, такой как:
SELECT * FROM SearchablePartContent WHERE CONTAINS(SearchableContent, 'rotor')
должен дать 5 результатов, вместо этого я получаю 1. Индексируется около 72 000 записей.Однако, если я сделаю сравнение LIKE, я получу ожидаемые строки.Мои данные не сложны, вот пара результатов, которые должны быть возвращены из моего запроса, но это не так:
- MN-H151536 Джон Чоппер, сборка ротора Monkey 8820,9600,8820FRT
- MN-H152756 Джон Ротор, подшипник 9650STS, 9750STS1
- MN-H160613 Джон Ротор, подшипник 9650STS, 9750STS2
Любая помощь будет принята с благодарностью.Спасибо