Search Administration and Tuning
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

同義語セット

サブスクリプション

同義語セットとは、同じ意味を持つ単語やフレーズのグループのことです。 管理者ユーザーが同義語セットを作成します。検索ページのエンドユーザーがキーワードやフレーズを検索すると、そのセットに含まれる同義語も検索対象となります。

例えば、ユーザーが「US」という単語を検索するかもしれません。 おそらく、ユーザーは America、 USA、 United Statesなどの同義語も含む検索結果を求めているでしょう。 同義語セットを作成することで、ユーザーが検索から最大限の成果を得られるようにすることができます。

警告

同義語セットを使用する際には、留意すべき要件と制限事項がいくつかあります。 詳細については、 要件と制限事項 を参照してください。

同義語セットの作成と管理

同義語セットを作成するには、同義語となるキーワードをいくつでもセットに追加してください。 シノニムセットが保存されると、同じ会社スコープ(シノニムが設定された仮想インス タンスの任意のサイト)での検索が有効になります。

新しい同義語セットを作成するには、

  1. グローバルメニュー(Global Menu)から、 アプリケーション → 検索チューニング → 同義語 に移動します。

    アプリケーションメニューの「同義語」セクションに移動します。

  2. 新しい同義語セットを追加するには、 追加 アイコン(Click on the add icon)をクリックします。

  3. セット内の同義語のリストを入力してください。 同義語の入力は、 をクリックして を入力するか、カンマを入力することで行います。

    セットに、異なる同義語を入力してください。

  4. 同義語を削除するには、その横にある X をクリックします。 セットが完了したら、 公開 をクリックしてください。

  5. セットを編集または削除するには、 アクション アイコン(Actions)をクリックし、 編集 または 削除をクリックします。

    変更するには、「編集」または「削除」をクリックしてください。

    同義語セットが公開されたら、すぐに使用できます。

同義語セットの使用

保存した同義語キーワードのいずれかを検索することで、同義語セットのテストを行うことができます。 キーワードおよび同義語に一致する結果は、検索結果ウィジェットに表示されます。

手持ちの単語の中から同義語を検索してみてください。

上記の例では、月面探査車に関するこのブログ記事には LRV という単語は含まれていませんが、検索結果として返されます。 同義語も強調表示されていることに注意してください。

重要なのは、同義語セット内の各同義語(つまり、単語またはフレーズ)は、ユーザーが検索バーに入力する検索キーワードと同様に処理されるということです。 サポートされている地域での全文検索の場合、同義語はそれぞれの言語フィルターによって分析されます。 生成されたトークンは、ローカライズされたフィールドとの一致を検索するために挿入されます。 同義語でサポートされている標準言語については、 同義語とローカライズ を、新しい言語を追加する方法については、 新しい同義語言語フィルタの作成 を参照してください。

同義語とローカライゼーション

Liferay DXP 2024.Q4より前は、同義語セットは英語またはスペイン語のロケールにインデックス付けされたフィールドでのみ機能していました。 2024年第4四半期より、同義語グラフフィルターが、以下の言語を含むより多くの言語で標準搭載されます。

言語ロケールコード
ポルトガル語(ブラジル)pt_BR
ポルトガル語(ポルトガル)pt_PT
イタリア語it_IT
アラビア語(サウジアラビア)ar_SA
カタルーニャ語(スペイン)ca_ES
カタルーニャ語(アンドラ)ca_AD
カタルーニャ語(スペイン、バレンシア州)ca_ES_VALENCIA
中国語(中国)zh_CN
中国語(台湾)zh_TW
オランダ語(オランダ)nl_NL
オランダ語(ベルギー)nl_BE
英語(米国)en_US
フィンランド語(フィンランド)fi_FI
フランス語(フランス)fr_FR
フランス系(カナダ)fr_CA
ドイツ語(ドイツ)de_DE
ハンガリー語(ハンガリー)hu_HU
日本語(日本)ja_JP
スペイン語(スペイン)es_ES
スウェーデン語(スウェーデン)sv_SE

お使いのバージョンでサポートされている言語を確認するには、 Elasticsearch および OpenSearch のインデックス設定を調べます。

重要

現在標準でサポートされている言語に対して、 個のカスタム同義語言語フィルター がある場合は、アップグレード時にカスタム構成を削除し、完全または同時再インデックスを実行してください。

新しい同義語言語フィルターの作成

対応バージョン:Liferay DXP 7.3 FP2+ および Liferay DXP 7.2 FP13+

追加言語のサポートを追加するには、以下の設定手順に従ってください。

  • デフォルトの デンマーク語 アナライザーを必要な変更を加えて再実装することにより、 カスタムアナライザー を作成します (パイプラインに追加の 同義語グラフトークンフィルター を含めます)。

  • コネクタ構成の「追加インデックス構成」を使用して、カスタムアナライザー定義をインデックス設定に追加します。

  • コネクタ構成の「型マッピングの上書き」設定を使用して、Liferay DXPのデフォルトの型マッピングを上書きすることで、目的のフィールドにカスタムアナライザーを適用します。

  • 新しい設定を適用するために、インデックスを再構築します。

重要

最新バージョンで標準でサポートされている言語に対して、 個のカスタム同義語言語フィルター がある場合は、アップグレード時にカスタム構成を削除し、完全または同時再インデックスを実行してください。

前提条件:デフォルトマッピングを取得し、デンマーク語翻訳を有効にしてください。

Elasticsearchコネクタをカスタマイズする前に、デフォルトのJSONマッピングを取得する必要があります。

実行中の Liferay からマッピングを取得するには、

  1. グローバルメニュー(Global Menu)を開き、 コントロールパネル → 検索に移動します。

  2. フィールドマッピング タブをクリックします。

  3. マッピング (Copy) をコピーして保存します。

警告

インデックスのマッピングと設定はバージョン間で変更される場合があり、場合によってはマイナーバージョン内でも(フィックスパックやサービスパックを通じて)変更されることがあります。 マッピングや設定のカスタマイズは、アップグレード時や新しいパッチレベルへの移行時に、必要に応じて見直し、調整する必要があります。 さらに、Liferayの検索チームは、将来のバージョンでより多くの言語を標準でサポートするように計画しており、カスタマイズは不要になる予定です。

さらに、Liferayインスタンスでデンマーク語を有効にする必要があります。

  1. インスタンス設定 → ローカライズを開きます。 グローバルメニュー(Global Menu)から、 コントロールパネル → インスタンス設定 → ローカライズ をクリックします。

  2. 利用可能な言語列から デンマーク語 (デンマーク) を現在の言語列に移動します。

  3. をクリックして保存します。

言語を追加する

デフォルトのマッピングファイルが用意できたので、デンマーク語の同義語に必要な設定を追加するために、必要な変更を加えてください。

  1. Elasticsearch接続のシステム設定エントリ—Elasticsearch 6/7に移動します。

  2. 追加インデックス構成フィールドに、 分析 ブロックを追加します。

    {
        "分析": {
            "アナライザー": {
                "custom_liferay_analyzer_da": {
                    "フィルター": [
                        "lowercase",
                        "my-synonym-filter-da",
                        "danish_stemmer",
                        "danish_stop"
                    ],
                    "トークナイザー": "標準"
                }
            },
            "フィルタ": {
                "my-synonym-filter-da": {
                    "lenient": true,
                    "synonyms": [],
                    "type": "シノニムグラフ"
                },
                "danish_stemmer": {
                    "タイプ":       "ステマー",
                    "言語":   "デンマーク語"
                },
                "danish_stop": {
                    "タイプ":       "停止"、
                    "ストップワード":  "_danish_"
                }
            }
        }
    }
    

    この構成で設定を追加すると、標準のインデックス設定で利用できる設定が拡張されます。 デフォルトのJSON設定は、ソースコードの index-settings.json ファイルの中にあります。 ここでは、 custom_liferay_analyzer_da という名前の新しいアナライザーを作成しています。このアナライザーは、新しいフィルター my-synonym-filter-da を使用します。 synonyms の配列は今のところ空です。UIで作成したシノニムセットはここに表示されます。

  3. コピーしたマッピングファイルを修正してください。 開き括弧 {は残しますが、2 行目と 3 行目を完全に削除します (インデックス名を含む行と マッピング を含む行)。

    "liferay-[COMPANY_ID]": {
        "マッピング" : {
    

    次に、マッピングの末尾から、最後の2つの波括弧を削除します。

        }
    }
    
    注記

    Liferay 7.4 U80 以前のバージョンでは、JSON ファイルの先頭に LiferayDocumentType 宣言を含める必要があります。 例えば、 Liferay 7.4 GA80 マッピング を参照してください。

  4. Override Type Mappings フィールドを使用して、 template_da 動的フィールドのアナライザーをカスタムアナライザー (custom_liferay_analyzer_da を使用するように変更します。

    重要

    この例は簡潔にするために一部省略されています。 「型マッピングの上書き」機能は、Liferayのデフォルトの型マッピングを完全に上書きして無視するため、上書きする部分だけでなく、完全なマッピングファイルを提供する必要があります。

     {
      "date_detection": false,
      "dynamic_templates": [
          // (...)
          {
              "template_da": {
                  "mapping": {
                      "search_analyzer": "custom_liferay_analyzer_da",
                      "store": true,
                      "term_vector": "with_positions_offsets",
                      "type": "text"
                  },
                  "マッチ" : "\\w+_da\\b|\\w+_da_[AZ]{2}\\b",
                  "マッチマッピングタイプ": "文字列"、
                  "マッチパターン": "正規表現"
              }
          }、
          // (...)
    

    ここで重要な変更点は、デフォルトで割り当てられたアナライザー (danish) がカスタムアナライザー custom_liferay_analyzer_da に置き換えられたことです。

  5. 設定への変更を保存します。

    ヒント

    Sidecar Elasticsearchサーバーを使用している場合、コンソールにエラーが表示されることがあります。 問題を解決するには、Liferay DXPを再起動してください。

  6. 次に、「システム設定」→「検索」→「同義語」に進みます。

  7. カスタムフィルター名(例: my-synonym-filter-da)をフィルター名の設定に追加し、設定を保存します。

  8. 完全または同時再インデックスを実行します。コントロール パネル → 検索 → インデックス アクションで、 すべての検索インデックスの再インデックス をクリックします。

    カスタムマッピングが正常に適用されたことを確認するには、[フィールドマッピング] タブに移動し、インデックス (たとえば、 liferay-89152139855705) を選択し、右側のパネルで template_da を探します。

    カスタムアナライザーを含む追加のインデックス設定も追加されていることを確認するには、Elasticsearch に対して次の API 呼び出しを行います。 http://<host>:<port>/liferay-[company-id]/_settings そして、レスポンスでアナライザー名を探します。 例えば、会社 ID 89152139855705を持つ、 localhostで実行されている Liferay DXP サーバーのサイドカー Elasticsearch サーバーのインデックス設定を確認するには、 http://localhost:9201/liferay-89152139855705/_settings にアクセスします。

新しいフィルターが機能していることを確認するには、

  1. 同義語アプリケーションに移動します。グローバルメニューから、 アプリケーション → 同義語 (検索チューニングの下) に移動します。

  2. 新しいシノニム セットを作成します: bolig, hjem。

  3. 英語とデンマーク語の翻訳を含むウェブコンテンツ記事を作成します。 デンマーク語のタイトルに bolig を追加します。

  4. 英語とデンマーク語の翻訳を含む別のウェブコンテンツ記事を作成します。 デンマーク語のタイトルに hjem を追加します。

  5. デンマーク語のロケールに切り替えて、 bolig を検索してください。 両方の商品が返却されました。

同義語が一致し、強調表示されます。

要件と制限事項

同義語セットを使用する際には、注意すべきいくつかの制限事項があります。

  • ローカライズされた Liferay CMS および オブジェクト エントリ フィールドの同義語マッチングには、Liferay DXP 2026.Q3 以降が必要です。 以前のバージョンでは、これらのエントリの同義語マッチングが不完全でした。同義語ペアの複数語側は、単語1つだけの同義語を含むエントリとは一致しませんでした。

  • オブジェクトフィールドの場合、同義語マッチングには、フィールドが 検索可能 であり、キーワードではなくテキストとしてインデックス化されている必要があります。 Liferay CMSのコンテンツタイプでは、タイトルフィールドとコンテンツフィールドは既にテキストとしてインデックス化されており、基本ドキュメントにはタイトルはありますがコンテンツフィールドはありません。

  • 最大10,000件の同義語セットを追加できます。

  • Solrを検索エンジンとして使用する場合、同義語セットはサポートされていません。 Elasticsearch のインストール方法については、 Elasticsearch 入門 を参照してください。

  • Elasticsearch でサポートされている => 形式 は、Synonyms Set UI ではサポートされていません。