0

OK это ситуация ..Полнотекстовый поиск (SQL Server 2005) работает только на некоторых полях

Я позволяет полнотекстового поиска на столе, но он работает только на некоторых полях ..

CREATE FULLTEXT CATALOG [defaultcatalog] 
CREATE UNIQUE INDEX ui_staticid on static(id) 
CREATE FULLTEXT INDEX ON static(title_gr LANGUAGE 19,title_en,description_gr LANGUAGE 19,description_en) KEY INDEX staticid ON [defaultcatalog] WITH CHANGE_TRACKING AUTO 

Теперь, почему следующий принесет результаты

Select * from static where freetext(description_en, N'str')

и это не (в то время как оба имеют текст с ул в нем ..)

Select * from static where freetext(description_gr, N'str')

(я пробовал и без спецификации языка - греческий в данном случае) (параметры сортировки базы данных является Greek_CI_AS) КСТАТИ

Select * from static where description_gr like N'%str%'

будет работать нормально ..

все поля имеют тип nvarchar, а поля _gr содержат английский и греческий текст. (не должно иметь значения)

Вся помощь будет приниматься с благодарностью

ответ

0

Просто пытаясь выяснить, что происходит: что у вас получается с этим вопросом?

SELECT * FROM static WHERE FREETEXT(*, N'str') 

Если вы явно не указали ни один столбец для поиска - дает ли он ожидаемые результаты?

Еще один момент: я думаю, что у вас неправильный идентификатор языка в вашем заявлении. Согласно SQL Server Books Online:

При указании в виде строки, language_term соответствует значению столбца псевдоним в syslanguages ​​ системной таблицы. Строка должна быть , заключенная в одинарные кавычки, как в 'language_term'. Когда указано как целое число, язык_term - это действительный LCID, который идентифицирует язык .

и из того, что я нашел в интернете, поиск по LCID для греческого - 1032 - не 19. Можете ли вы попробовать с 1032 вместо 19? Это имеет значение?

Марк

+0

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

Full-text table or indexed view has more than one LCID among its full-text indexed columns.
если я бегу в то время как все fieldσ взять язык по умолчанию он не возвращает ничего .. странно, в не? –

+0

LCID 1032 говорит, что не установлен (в то время как я могу видеть, что один с идентификатором 19 имеет LCID 1032) текстовая версия не работает .. –

+0

Ok .. ошибка на мой первый комментарий ... Когда я запускаю FREETEXT (*, N'str '), в то время как язык в fullindex является значением по умолчанию, выбор будет выбирать, какие строки имеют «str» в версии _en ... –

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