多个单词的弹性搜索/ lucene索引?

时间:2017-04-03 03:11:23

标签: elasticsearch lucene search-engine

当我在Elastic search / lucene中搜索说car engine(这是任何用户第一次搜索此关键字)时,搜索引擎是否首先在索引表中搜索单个单词的索引,然后查找交集。例如: - 说引擎找到10 汽车的文件然后它将搜索引擎说它有5个文件。现在在5个文件(最小的没有文件),它将搜索汽车。它找到了2个文件。

现在搜索引擎会根据以上结果对其进行排名。这是在高级别的索引表中搜索多个单词的方式吗?

对于针对相同关键字的未来搜索,搜索引擎是否会在索引表中为密钥car engine创建新条目?

1 个答案:

答案 0 :(得分:1)

是的,根据您的查询,它会搜索单个术语并获取结果的交集或并集。它使用了一种称为"反向索引"当搜索的文件是"索引"它产生的。进入弹性搜索。 索引操作与搜索不同。所以,不,它不会索引用户搜索,除非你告诉它(在你的应用程序中)。 elasticsearch的基本功能可以分为两部分:

  1. 索引。您可以通过索引要搜索的所有文档来创建文档索引。这些文档可以是MySQL商店或Logstash等中的任何文档,也可以由用户组成。搜索您的应用程序索引到相关弹性index
  2. 的查询
  3. 搜索。您可以使用ElasticSearch查询(DSL),使用可能由用户生成或生成应用程序或混合使用的某些关键字搜索索引文档。如果找到结果(根据您的查询),则elasticsearch将返回相关记录。
  4. 我们建议您阅读此文档,以便更好地了解弹性搜索文档的内容: https://www.elastic.co/blog/found-elasticsearch-from-the-bottom-up