SharePoint Search Server Express 2010,为什么从 Scope() 返回排名始终默认 (100000000)
我需要知道在 Search Server Express 中的配置更改等方面我需要采取哪些不同的措施来解决此排名问题。
我已经使用Search Server Express 2010抓取了大量文件,当我使用 QueryText 从 Scope 中选择排名时(对于给定的搜索词),我总是为所有返回的项目获得相同的排名100000000。
因此,按等级排序没有区别。我需要排名来反映每个文件中特定术语的出现次数。当 SSE 2010 安装在 Windows Server 2008 R2 上时,排名曾经变化(并且是正确的),但对于 Windows Server 2016,排名始终为 100000000。
例如,如果文件 A 有 1 次“油”,文件 B 有 3 次“油”,文件 C 有 4 次“油”,则从下面的选择返回的当前订单,与 order by,是: 文件 A,文件 B,文件 C (因为这是文件被爬取的顺序,不幸的是每个文件返回每个文件的 100000000 的排名)。我需要返回的顺序,顺序是: 文件C,文件B,文件A (文件C的等级比B大,B的等级比A大,所以按等级排序可以正确地订购东西)。
我调用 Search Server Express 2010 (_vti_bin/search.asmx) 附带的内置 SOAP 服务的方法 Query 并传递以下内容:
<QueryPacket><Query><QueryId /><OriginatorId /><Context>
<QueryText type='MSSQLFT' language='" + language + "'>
SELECT rank, Filename, path, description FROM SCOPE()
where (path like 'file://" + RepositoryFiles + "/%.xml')
and (contains(All, '"oil*"'))
order by rank desc
</QueryText>
</Context>
<EnableStemming>true</EnableStemming>
</Query></QueryPacket>;
我非常感谢能够解决这个问题的洞察力。