У меня возникли проблемы с MOSS FulltextSqlQuery при попытке отфильтровать результаты People в Управляемом свойстве Skills с использованием предиката CONTAINS. Позвольте мне продемонстрировать:
Запрос без фильтров возвращает ожидаемый результат:
SELECT AccountName, Skills
from scope()
where freetext(defaultproperties,'+Bob')
And ("scope" = 'People')
Результат
Total Rows: 1
ACCOUNTNAME: MYDOMAIN\Bob
SKILLS: Numchucks | ASP.Net | Application Architecture
Но когда я добавляю предикат CONTAINS, я больше не получаю ожидаемый результат:
SELECT AccountName, Skills
from scope()
where freetext(defaultproperties,'+Bob')
And ("scope" = 'People')
And (CONTAINS(Skills, 'Numchucks'))
Результат
Total Rows: 0
Я понимаю, что могу сделать это, используя предикат SOME ARRAY, но мне хотелось бы знать, почему это не работает с предикатом CONTAINS для свойства Skills. Я успешно использовал предикат CONTAINS с пользовательским свойством для обхода, которое обозначено как «Многозначный». Свойство Skills (хотя оно может быть многозначным) не указывается как таковое на странице свойств для обхода на сайте администратора SSP:
HTTP: ///ssp/admin/_layouts/schema.aspx ConsoleView = crawledPropertiesView & категория = People
У кого-нибудь есть идеи?