SOLR を使用しており、MoreLikeThis クエリをフィルタリングしようとしています。フィルターを実行するたびに、結果がゼロになります。私が使用しているコードは次のとおりです。
var results = solr.Query(new SolrQuery("id:" + id)
&& !new SolrQuery("siteid:" + SiteId), new QueryOptions
{
MoreLikeThis = new MoreLikeThisParameters(new[] { "content" })
{
MinDocFreq = 1,
MinTermFreq = 1,
Count = rows
},
Fields = new[] { "id" },
OrderBy = new[] { new SortOrder("score", Order.ASC) },
Start = start
});
!new SolrQuery("site:" + SiteId)
フィルターはご覧の通り。このフィルターをクエリに追加すると、結果が得られません。
クエリの内容は次のとおりです。私はsolrインデックスにたくさんのウェブページを持っています:
- ID
- 題名
- コンテンツ
- サイト ID
morelikethis クエリは、id
類似したドキュメントを取得します。フィルターは、サイト ID で Web ページをフィルター処理することを想定しています。siteid フィルターを適用しても機能しません。これに関するアイデアはありますか?