部分検索を構成する

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

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

適用対象

Apache Solrです。

Sitecore xConnect Searchは、Apache Solr Edge N-Gramトークナイザーを使用した部分的なテキスト検索をサポートしています。最小値が2、最大値が4の1つの単語Sitecoreのエッジn-gramは、トークンSiSit、およびSiteを生成します。2ワードの文字列xConnect Searchの同様のエッジn-gramは、トークンxCxCoxCon 、およびSeSeaSearを生成します。

大事な

Solrスキーマを変更するには、JSON形式のコマンドのブロックを含むPOST要求をboth the active and the rebuild versions of the Solr corehttps://<Apache Solr>/collection/schema/エンドポイントに送信します。それらは<core_name><core_name>_rebuildという名前です。

部分的なテキスト検索フィールドを追加する

xConnect Searchロールは、次の個人情報ファセット フィールドpersonal.firstnamepersonal.middlenamepersonal.lastnameemails.preferredemail.smtpaddressに対して部分検索がアクティブになるように事前設定されています。

部分的なテキスト検索フィールドを追加するには:

  1. <xConnect Search role>\App_data\solrcommands\10.0-or-later-schema-preparation.jsonファイルをboth Solr coresに投稿します。404エラーが表示される場合がありますが、これは正常です。

  2. <xConnect Search role>\App_Data\solrcommands\schema.jsonファイルを開きます。

  3. 事前設定されたフィールドが配置されている場所に新しいadd-copy-fieldコマンドを追加します。 sourceプロパティは、部分検索をアクティブ化するフィールドである必要があり、destプロパティは常にtextmatchである必要があります。

    "add-copy-field": [{
      "source": "facets.personal.firstname_s",
      "dest": "textmatch"
    }]

    add-copy-fieldセクションでは、ソースデータの必要なバリエーション(エッジn-gramトークン)をtextmatchフィールドに集約します。

  4. Solrスキーマの後での変更を妨げる問題を回避するには、add-fieldセクションにfacets.personal.firstname_sフィールドを追加します。

    "add-field": [{
      "name": "facets.personal.firstname_s ",
      "type": "lowercase",
      "stored": false,
      "indexed": true,
      "omitNorms": true
    }]
  5. schema.jsonファイルを保存します。

  6. schema.jsonファイルをboth Solr coresに投稿します。

既存の部分テキスト検索フィールドの変更

既存の部分テキスト検索フィールドを変更する必要がある場合は、まず元の設定を削除する必要があります。

部分テキスト検索フィールドを変更するには:

  1. <xConnect Search role>\App_data\solrcommands\10.0-or-later-schema-preparation.jsonファイルを両方のSolrコアにポストします。404エラーが表示される場合がありますが、これは正常です。

  2. <xConnect Search role>\App_Data\solrcommands\schema.jsonファイルを開きます。

  3. 部分的なテキスト検索フィールドを変更するadd-copy-fieldコマンドの前に、元の設定を削除するコマンドを挿入します。

    "delete-copy-field": [{
      "source":"facets.personal.firstname_s",
      "dest":"textmatch"
    }]
    "delete-field": [{ "name": "facets.personal.firstname_s" }]
  4. schema.jsonファイルを保存します。

  5. schema.jsonファイルをboth Solr coresに投稿します。

部分的なテキスト検索を最適化する

textmatchフィールドは、複数値text_matchフィールド タイプとして構成されています。具体的な詳細については、schema.jsonファイルのadd-fieldセクションを参照してください。

text_matchフィールドタイプ設定のfiltersセクションで部分検索を最適化できます。デフォルト値では、最小n-gramサイズを2に、最大サイズを15に設定します。2つの数値間の範囲が広いほど、より多くのインデックス領域が必要になります。

テキスト部分検索を最適化するには:

  1. <xConnect Search role>\App_data\solrcommands\10.0-or-later-schema-preparation.jsonファイルを両方のSolrコアにポストします。404エラーが表示される場合がありますが、これは正常です。

  2. <xConnect Search role>\App_Data\solrcommands\schema.jsonファイルを開きます。

  3. minGramSizeプロパティとmaxGramSizeプロパティを任意の値に変更します。

    "filters": [
      { "class": "solr.LowerCaseFilterFactory" },
      {
        "class": "solr.EdgeNGramFilterFactory",
        "minGramSize": "2",
        "maxGramSize": "15",
        "preserveOriginal": "true"
      }
    ]
  4. schema.jsonファイルを保存します。

  5. schema.jsonファイルをboth Solr coresに投稿します。

部分的なテキスト検索を無効にする

部分検索が必要ない場合は、無効にしてパフォーマンスを向上させることができます。

部分的なテキスト検索を無効にするには:

  1. <xConnect Search role>\App_data\solrcommands\10.0-or-later-schema-preparation.jsonファイルを両方のSolrコアにポストします。404エラーが表示される場合がありますが、これは正常です。

  2. <xConnect Search role>\App_Data\solrcommands\schema.jsonファイルを開きます。

  3. 事前設定されたadd-copy-fieldセクションをschema.jsonファイルから削除します。

    "add-copy-field": [
      {
        "source": "facets.personal.firstname_s",
        "dest": "textmatch"
      },
      {
        "source": "facets.personal.middlename_s",
        "dest": "textmatch"
      },
      {
        "source": "facets.personal.lastname_s",
        "dest": "textmatch"
      },
      {
        "source": "facets.emails.preferredemail.smtpaddress_s",
        "dest": "textmatch"
      }
    ]
  4. schema.jsonファイルを保存します。

  5. schema.jsonファイルをboth Solr coresに投稿します。

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