ElasticSearch基礎()

ElasticSearchアプリケーションシナリオ

  1. ログの可視化--ELK組み合わせ、簡単にアクセスできる位置情報サービスの問題
  2. 非構造化データを格納し、いくつかのシーンストレージ複雑にネストされた関係タイプ、関節の問い合わせが非常に複雑になるリレーショナルデータベースを使用すると、パフォーマンスに影響を与え、その後、ElasticSearchは良い選択です。
  3. フルテキスト検索エンジン、データの膨大な量のほぼリアルタイムのシーンを検索し、ESは良い選択です

検索処理ElasticSearch

文書インデックス何が起こる1、

まず、メイン断片のハッシュ値に応じて選択された文書ID、及びメイン断片にドキュメントを送信し、その文書がマスタスライスインデックスのすべてのコピーに送信されるので、コピー用紙やメインとサブシンクシートすなわち、それのコピーシートは、検索要求にサービスを提供し、元のマスタースライスが利用できない、新しいマスタースライスします。
ここに画像を挿入説明
検索インデックスのとき2は、何が起こる
の検索は、インデックスのすべての破片を見つけるために、これらの断片は、マスタースライスすることができ、それはまた、フラグメント、負荷分散のコピーであってもよいし、パフォーマンスを向上させます。ノードは、これらの断片から収集し、要求のすべてのデータを含むフラグメントのセット、ESポーリングラウンドロビン選択機構可能なスライス(プライマリスライスまたはコピー)、および外出する転送要求に対する転送要求を受け入れ結果は、その後、結果が一緒に返されました。
ここに画像を挿入説明

断片化とは何ですか

Lucenceは、インデックスのスライス、転置インデックス転置インデックスが含まれているすべての文書をスキャンせずにESを行い、ファイル、ディレクトリ、あなたの特定のエントリが含まれている文書を伝えることができるようになりますです。
注:
1、複数のスライスを備え、各スライスは単一Lucenceインデックス、すなわちインデックスES、
2、断片のコピーを動的に追加および削除することができなく、マスタースライス
ここに画像を挿入説明

転置インデックスとは何ですか

Elasticsearch使用構造は、高速全文検索に適している転置インデックスを、と呼ばれます。逆索引は単語を繰り返していないすべての文書のリストで構成され、各単語のために、それを含む文書のリストがあります。

例えば、我々は二つの文書があるとし、各文書の内容ドメインの内容は次のとおりです。

1.The quick brown fox jumped over the lazy dog
2.Quick brown foxes leap over lazy dogs in summer

为了创建倒排索引,我们首先将每个文档的 content 域拆分成单独的 词(我们称它为 词条 或 tokens ),创建一个包含所有不重复词条的排序列表,然后列出每个词条出现在哪个文档。结果如下所示:

现在,如果我们想搜索 quick brown ,我们只需要查找包含每个词条的文档:

两个文档都匹配,但是第一个文档比第二个匹配度更高。如果我们使用仅计算匹配词条数量的简单 相似性算法 ,那么,我们可以说,对于我们查询的相关性来讲,第一个文档比第二个文档更佳。

但是,我们目前的倒排索引有一些问题:

  • Quick 和 quick 以独立的词条出现,然而用户可能认为它们是相同的词。
  • fox 和 foxes 非常相似, 就像 dog 和 dogs ;他们有相同的词根。
  • jumped 和 leap, 尽管没有相同的词根,但他们的意思很相近。他们是同义词。

使用前面的索引搜索 +Quick +fox 不会得到任何匹配文档。(记住,+ 前缀表明这个词必须存在。)只有同时出现 Quick 和 fox 的文档才满足这个查询条件,但是第一个文档包含 quick fox ,第二个文档包含 Quick foxes 。

我们的用户可以合理的期望两个文档与查询匹配。我们可以做的更好。

如果我们将词条规范为标准模式,那么我们可以找到与用户搜索的词条不完全一致,但具有足够相关性的文档。例如:

  • Quick 可以小写化为 quick 。
  • foxes 可以 词干提取 --变为词根的格式-- 为 fox 。类似的, dogs 可以为提取为 dog 。
  • jumped 和 leap 是同义词,可以索引为相同的单词 jump 。

现在索引看上去像这样:

これは十分ではありません。私たちは、+クイック検索+ Googleのインデックスには、何のクイックを持っていないので、キツネはまだ、失敗します。私たちは、コンテンツドメイン検索クエリのために標準化ルールの同じ文字列を使用している場合、両方の文書が一致せただし、+迅速+キツネになります!

これは非常に重要です。あなただけのインデックステキストとクエリ文字列が同じ形式に正規化されなければならないので、用語は、インデックスに表示される検索することができます。
セグメンテーションと標準化されたプロセスは、分析と呼ばれています。

公開された55元の記事 ウォン称賛14 ビュー20000 +

おすすめ

転載: blog.csdn.net/qq422243639/article/details/100577222