検索結果をハイライトするためのSolrの使用

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

!注このトピックはSitecore 9.0以降にも適用されます。

Solrにはハイライト機能があります。これは、クエリ応答のクエリに一致する文書の断片をSolrが返すことを意味します。Solrはこれらの断片を、応答の特別なセクションであるhighlightingセクションに含めます。Solrには、これらの断片(またはスニペット)をどのように提示するかを判断するためのフォーマットの手がかりも含まれています

Solrのドキュメントには詳細が記載されています。

ソルル構成

Solrでハイライトを有効にするために設定は必要ありません。

例

この例は、SitecoreコードのSolrハイライト機能の使い方を示しています:

protected void OnClick(object sender, EventArgs e) { var index = ContentSearchManager.GetIndex("sitecore_master_index"); var highlightField = "_name"; using (var context = index.CreateSearchContext()) { var results = context.Query(string.Format("_name:{0}", this.txtName.Text), new QueryOptions() { Highlight = new HighlightingParameters { Fields = new { highlightField }, BeforeTerm = "", AfterTerm = "" } }); if (results != null) { foreach (var result in results) { resultstring.Format("highlight{0}", highlightField) = string.Join(", ", results.Highlightsresult"_uniqueid".ToString().SnippetshighlightField.ToArray()); } } this.rptResults.DataSource = results; this.rptResults.DataBind(); } }

ベストプラクティス

ハイライトに使うパラメータを指定するのがベストプラクティスです。結果を得るにはh1とh1.flパラメータを設定するだけで十分です。

これらは最も一般的に使われるパラメータです。

パラメータ

デフォルト

概要

HL

偽り

このパラメータを使ってハイライトを有効または無効にしてください。

HL.メソッド

オリジナル

使用するためのハイライト実装。許容値は以下の通りです: unified、 original、 fastVector 、 postings。

HL.FL

(df=)

ハイライトするフィールドのリストを指定します。これは、Solrがハイライトされたスニペットを生成するべきフィールドのコンマまたはスペース区切りリストを受け入れます。''(アスタリスク)のワイルドカードを使えば*、フィールドの塊をマッチさせることができます。例えば「text_」や「''でハイライト可能なすべてのフィールドでハイライトできます。''を使う場合は*、 hl.requireFieldMatch.

この記事を改善するための提案がある場合は、 お知らせください!