[ElasticSearch]分析


参考リンクと文献


参考書📚 始めよう!だんせい研究
Elastic Searchでインデックスを行う場合、入力したデータはクエリーを抽出するプロセスを経て、このプロセスを分析と呼びます.
この場合、分析プロセスで使用されるプログラムは、1つのTalk年齢器(Tokenizer)と1つ以上のToken Filter(Token Filter)からなる分析器−分析器と呼ばれる.
チャット担当者は、チャット担当者が設定した基準に基づいて、入力データを検索語チャット担当者に分離する.
タグフィルタは、タグ語で区切られたタグにフィルタを再適用し、最終的に実際の検索に使用される検索語に変換します.

ぶんせき


分析プロセス


Elastic Searchからデータをインデックスする場合、ドキュメント分析のプロセスは次のとおりです.
データがインデックスされるときは、インデックスに設定されているアナライザのタイプに応じて、Talk Nize->Tokenフィルタの順に分析されます.

_analyze API

_analyzeを使用して、分析入力データの結果を画面に出力することができる.
指定トルク年齢はtokenizer、トルクフィルタはfiltersパラメータ(パラメータ)です.
複数のトークンフィルタを設定する場合は、簡単に
次の例は、whitespace talk nameと小文字、stop tokenフィルタを使用して分析結果を要求するコマンドです.
-XPOST http://localhost:9200/_analyze?tokenizer=whitespace&filters=lowercase,stop@pretty ..

カスタムアナライザ


ユーザーは、任意のチャットツールとチャットフィルタを選択して、カスタムアナライザを作成できます.
ユーザー定義のアナライザはインデックス単位で格納され、インデックスにデータをインデックスするときにアナライザを指定できます.
アナライザはインデックスのsettingsオプションを使用して作成し、生成されたコマンドは次のとおりです.
  • 上記の例のTALKENフィルタとTALKENフィルタの組み合わせをアナライザにカスタマイズします.
  • "settings" {
    	"analysis" : {
        	"analyzer" : {
            	"my_analyzer(사용자 정의 분석기 이름)" : {
                	"tokenizer" : "whitespace",
                    "filter" : ["lowercase","stop"]
                    ...
    現在、生成されたmyアナライザを使用してデータを分析する方法は、_analyze APIのanalyzerパラメータを使用することである.
    -XPOST http://localhost:9200/books/_analyze