ES5.5检索过程

99 阅读1分钟

当 Elasticsearch 5.5 收到一个检索词后,会执行以下操作:

  1. 分析查询词:首先,Elasticsearch 会使用分析器对查询词进行分析处理,将其转化为一组术语(terms),并去除停用词(stop words)和无用的字符,以便更好地匹配文档中的关键词。

  2. 构建查询请求:接下来,Elasticsearch 将使用查询请求(query request)来构建查询语句。这个查询请求可以是一个简单的查询字符串(query string),也可以是一个更复杂的查询 DSL(Domain-Specific Language)。

  3. 查询过程:Elasticsearch 使用查询语句在索引(index)中查找文档,查找的过程包括以下步骤:

    • 建立查询执行计划(query execution plan):Elasticsearch 会使用查询请求来创建查询执行计划,这个计划包括了如何在倒排索引(inverted index)中查找匹配的文档。
    • 匹配文档:Elasticsearch 会在倒排索引中匹配文档。对于每个匹配的文档,Elasticsearch 会计算文档的相关性分数(relevance score),以便在结果中进行排序。
    • 返回结果:最后,Elasticsearch 会将匹配的文档返回给用户。这些文档可以根据相关性分数进行排序,以便用户能够更好地了解哪些文档与他们的查询最相关。

总的来说,Elasticsearch 5.5 的搜索过程可以分为三个主要步骤:分析查询词、构建查询请求和查询过程。在查询过程中,Elasticsearch 会使用查询请求创建查询执行计划,并在倒排索引中查找匹配的文档,最后将匹配的文档返回给用户。