尝试使用 CONTAINS 谓词过滤 Skills Managed Property 上的 People 结果时,我遇到了 MOSS FulltextSqlQuery 问题。让我演示一下:
没有过滤器的查询返回预期结果:
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 谓词来完成此操作,但我想知道为什么这不适用于 Skills 属性的 CONTAINS 谓词。我已成功使用 CONTAINS 谓词和自定义爬网属性,该属性指示为“多值”。Skills 属性(尽管它似乎是多值的)在 SSP 管理站点的 Crawled Properties 页面上没有这样显示:
http:///ssp/admin/_layouts/schema.aspx?ConsoleView=crawledPropertiesView&category=People
有人有想法么?