私はsolrを初めて使用し、検索結果の強調表示を実装するように依頼されました。私の検索クエリは次のようなものです、
query = 'searchterm1'AND'searchterm2'のようなテキスト
次に、solrに「searchterm1」と「searchterm2」をそれぞれ黄色と青色で強調表示するように指示する必要があります。これはsolrでも可能ですか?はいの場合、どうすればそれを実行できますか?
これは、現在検索結果を強調表示しているコードスニペットです。
private AbstractSolrQuery _query = new SolrQuery(searchterm1) && new SolrQuery(searchterm2);
public SolrQueryResults<Document> Execute(string defaultField)
{
var results = _solr.Query(_query, new QueryOptions
{
Rows = 100,
Fields = Document.GetPropertiesExceptList(new List<string>{"text","text_exact"}).ToArray(),
ExtraParams = new Dictionary<string, string> {
{ "df", defaultField },
{ "hl.fragsize", "0" },
{ "hl", "true" }
}
});
Highlight(results);
return results;
}
private void Highlight(SolrQueryResults<Document> results)
{
foreach (var result in results)
{
foreach (var highlightedSnippet in results.Highlights[result.Id.ToString()])
{
result.SetProperty("content", highlightedSnippet.Value.ToList());
}
}
}
これに関する助けをいただければ幸いです。
ありがとう