字段和术语查询或匹配查询之间的差异

时间:2017-04-04 18:58:37

标签: elasticsearch spring-data-elasticsearch

我刚开始研究弹簧数据弹性搜索。 我只是使用简单的弹簧数据api: - findByName(字符串) 但是当我浏览spric doc时,我能够看到,它将创建如下内部查询: -

  @Query("{"bool" : {"must" : {"field" : {"name" : "?0"}}}}")

现在我的问题是这个字段查询与弹性搜索中的匹配查询或术语查询类似吗?

提前致谢!!

1 个答案:

答案 0 :(得分:2)

最新的ElasticSearch版本似乎不支持field个查询。已弃用的field查询的替代方法是query_string查询,它将类似Lucene的查询作为输入。

match查询允许使用常见搜索(按关键字搜索),我认为这是您正在寻找的内容。

对于term查询,它不会分析您的输入字符串,也不会将其拆分为术语。它只会将它用作搜索词。它比match查询更快,但它不适用于原始输入。