概要
この章のデータは、ESの転置インデックスと、いくつかの一般的に使用される言葉の紹介の基本原則を説明しています。
反転インデックス作成プロセス
逆インデックス検索エンジンインデックスの一般的な方法は、ドキュメント内の単語のためのフルテキスト検索にマッピング記憶場所を格納するために使用されます。転置インデックスでは、我々はキーワードを入力し、あなたは非常に迅速にキーワードを含む文書のリストを取得することができます。
私たちは、英語を見て、私たちは二つの文書があるとします。
- 私は笑顔を愛している友人がいます
- 私を愛し、私はあなたを愛して
転置インデックスを作成するために、我々はスペースで各単語を分離するための最も簡単なキーを押し、次のような結果を得ることができます:
*列ドキュメントオープンで、このエントリー、手段それがあることを示していないエントリ
期間 | DOC1 | DOC2 |
---|---|---|
私 | * | * |
持ってる | * | |
A | * | |
友人 | * | |
誰 | * | |
愛 | * | |
スマイル | * | |
愛 | * | |
私に | * | |
君は | * |
:私たちは、私はあなたを愛して検索したい場合は、私たちはそれぞれの用語を含む文書見つける必要がある
ターム| | DOC1 | DOC2 |
-----:| |: - :|:| ----
| I | *を| * |
|愛| | * |
|お| | * |
どちらの文書は、あなたがヒットをカウントするエントリの数を押すと、より良いマッチDOC1をDOC2、一致させることができます。
逆索引は、ES結果に格納された逆インデックスに、最も単純な表現であり、各エントリの位置を記録し、文書に表示されます。
希望ワープロ
このインデックス、愛と愛が違いを確立するプロセスで見てみましょうか?いいえ、それは、愛の意味である三人称単数形で、試作品です。あなたは構文の違いの一部を取り除くことができれば、その検索結果がより現実的な需要はありませんか?
例えば:
- エキス幹愛愛に加工
- 、言葉は何の意味など、直接マスクさを持っていません
- 等
インデックスは次のようになります。
| DOC2 | |用語| DOC1
|:---- |: - :| -----:|
|友達| * | |
|愛| * | * |
|スマイル| * | |
|ミー| | * |
|お| | * |
これは多くのことを合理化することではないでしょうか?
このプロセスは正規化と呼ばれている場合、転置インデックスの確立には、一連の動作を実行し、各単語のようなドキュメント関連する確率を検索する検索バックを高めるために適切な治療を、アウト分割変換状態、単数と複数の変換、変換の同義語、敏感変換。
トークナイザデビュー
Wordの役割は、セマンティック1つのエントリに特定のカットによると、文書全体を置くことで、目標は、リコールのドキュメントを高め、ノイズ無効なデータを削減することです。
また、検索性として知られているリコールリコールは、検索の時間を指し、我々は、検索結果の数を増やすことができます。
NRは:文書の数結果の全体的な検索用語干渉ソートに低い相関性を低下させることを意味します。
Word文書には、以下のプロセスステップが含まれています。
- キャラクターフィルタ
そのようなHTMLの清掃タグのような文字列の前処理、愛 >ラブ、I&あなたに- - >とあなたのような私。
- ワードブレーカ
文字列がスペースや句読点のセグメンテーションによって、英語など個々の用語に切断され、中国では単語分割により、異なる言語、異なるワード、比較的単純な標準セグメント化のために、特に複雑あります中国語の単語、セグメンテーションロジックがある含む複雑な:
Iラブ君 - > I /愛/君
私と私の国 - > I /および/ I /祖国
- トークンフィルター
( - >愛英語愛を語幹)、削除議論の余地の用語(英語のA、及び、この、中国語で、「言葉は、そのような用語の変更など、さらなる処理のためのエントリを、導出されます「」、「」その「)、エントリの増加(補足同義語)
Wordは良い言葉が大幅にリコールを向上させることができ、不適切な単語の結果が曖昧検索し、最終的に良い結果となって、その後、転置インデックスを確立するためにそれを取るしている可能性があり、非常に重要です。
はじめに一般的なトークナイザ
内蔵のワードブレーカー提供自体をElasticsearch、また、サードパーティのワードブレーカーを使用することができます。
内蔵のワードブレーカー
- 標準トークナイザ標準アナライザ
ユニコードコンソーシアムの定義のテキストによると、デフォルトの単語、単語の境界境界をES、句読点の大部分を除去、最後のエントリは小文字になります。
- シンプルな言葉では簡単なアナライザです
任意の文字で区切られたテキストの場所、小文字のエントリではありません
- スペーストークナイザ空白アナライザ
テキストが分割された空間
- 言語の単語ブレーカ言語解析
英語などの言語の特定の単語、英語の単語は、英語の文法規則の削除エントリに使用される単語の幹を抽出する能力を持っているように、英語でのストップワードのセットを維持しています。
内蔵トークナイザのサポート主に英語の効果が優れている、我々は外部の中国ワードブレーカを使用する必要があります。
単語の外側の部分があります
IK中国ワードブレーカik_max_wordは
最もきめ細かいテキスト分割を行います。多くの言葉のようにして分割します。
>南京/南京/市長/長江大橋/長江/橋-そのような南京長江大橋などIK中国ワードブレーカik_smartは、
分割が最も粗粒行います。言葉が再び分離つまり占有されることはありません
、このような南京長江大橋として、 - >南京/長江大橋をCJKの単語はCJKで
サポートアジア言語、中国語、日本語、韓国語、
南京/北京市/市長/長江/長江/ブリッジ> -など南京長江大橋などaliwsアリ中国ワードブレーカ
中国ワードブレーカの研究からアリ
>南京/市/長江/橋-南京長江大橋など
単語の多くは外側の部分は、あなたが、ここで彼らは見つけるために行くことができます興味を持っている、一つずつ導入されていないされ、自らの事業特性を組み合わせた、独自の単語を選択することができ、異なる言語、異なる領域があり、多くがあり、オープンソースです。
統合されたワードブレーカー
Elasticsearch 6.3.1バージョンに、例えば、IKワードを統合し、他のプロセスは、binディレクトリに、似ている単語は、実行プラグインのインストールコマンドをES:
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.1/elasticsearch-analysis-ik-6.3.1.zip
そのアドレスは、インストールの背後にある場合はelasticsearch分析-IKのgithubのダウンロードアドレスの対応ESバージョンをリリース。
インストールが成功した後、ESを使用すると、以下の情報を見ることができるログを起動します。
[2019-11-27T12:17:15,255][INFO ][o.e.p.PluginsService] [node-1] loaded plugin [analysis-ik]
ワードテスト結果
次のようにESは、要求コマンドをテキストが単語である、それはデバッグや学習のために使用することができる方法を確認するためのAPIがあります分析します:
GET /_analyze
{
"analyzer": "ik_max_word",
"text": "南京市长江大桥"
}
その結果を受けて:
{
"tokens": [
{
"token": "南京市",
"start_offset": 0,
"end_offset": 3,
"type": "CN_WORD",
"position": 0
},
{
"token": "南京",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 1
},
{
"token": "市长",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 2
},
{
"token": "长江大桥",
"start_offset": 3,
"end_offset": 7,
"type": "CN_WORD",
"position": 3
},
{
"token": "长江",
"start_offset": 3,
"end_offset": 5,
"type": "CN_WORD",
"position": 4
},
{
"token": "大桥",
"start_offset": 5,
"end_offset": 7,
"type": "CN_WORD",
"position": 5
}
]
}
概要
この部分は、簡易な構造を示し、基本的な考え方逆索引を記述し、ワード処理の基本的なステップを示します。現在、特に人気の高い市場細分化コンポーネントは、オープンソースコミュニティは、それがプロジェクトの背景の実際のニーズに応じてすることができ、非常に有効である、適切な統合を選択し、互換性の問題のバージョン番号ができることに注意してください。
Javaの並行性の高いフォーカス、分散アーキテクチャ、より乾燥品シェアの技術と経験、公共の数にしてください注意を払う:Javaのアーキテクチャコミュニティ