legacy-knowledge-base
公開されました Jun. 30, 2025

Elasticsearch が会社の固有名詞である単語を分析するのを停止する

written-by

Jorge Diaz

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

Elasticsearch が会社の固有名詞である単語を分析するのをやめてほしい。

たとえば、当社の名前が「Smiths」の場合、Elasticsearch がその単語を分析して末尾の「s」を削除することを回避したいと考えています。

Environment

  • Liferay DXP の任意のバージョン

解決策

Liferay で Elasticsearch アナライザーの構成をカスタマイズする方法

インデックス作成時および/または検索時の Elasticsearch 単語分析プロセスの動作を変更するには、そのアナライザーの Elasticsearch 構成をカスタマイズする必要があります。
この設定を変更するには、Liferay 側から行う必要があります。 これは、「追加のインデックス構成」セクションの Elasticsearch コネクタ構成から実行できます。詳細については、以下を参照してください。

この記事では、アナライザーを再定義する方法の例を示します。 アクセントに影響されないカスタム Elasticsearch アナライザーを作成する方法

通常のパーサーによる処理を避けるために Elasticsearch でいくつかの単語を処理する方法

一部の単語が通常のパーサーによって処理されるのを回避するには、「ステマー オーバーライド」トークン フィルターまたは「キーワード マーカー」トークン フィルターを使用できます。詳細は次のとおりです。

一方、テキストの書き換えを適用できる「マッピング文字」フィルターもあります。 記事 Mapping character filter を参照してください。たとえば ":(" を "_sad_" で書き換えますが、この場合は連続するトークナイザーによって管理されます。

これらすべてを見て、「Smiths」という単語を別の方法で処理したい場合は、「Smiths」が Elasticsearch に特別なキーワードとして保存されるようにステマーのオーバーライドを設定できます。

たとえば、 "Smiths, smiths=> __smiths__" with two "_" before and after ルールを使用してステマー オーバーライドを適用すると、言語自体にある他の単語と混同されません。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base