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 に「oil」が 1 回あり、ファイル B に「oil」が 3 回あり、ファイル C に「oil」が 4 回ある場合、現在の順序は、次の順序で以下の選択から返されます。 ファイル 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>;
この問題の解決につながる洞察をいただければ幸いです。