文档章节

elasticsearch – 弹性搜索:“Term”,“Match Phrase”和“Query String”之间的差异

xiaomin0322
 xiaomin0322
发布于 05/24 14:46
字数 464
阅读 6
收藏 0

术语查询匹配单个术语,因为它是:不分析值。
所以,它不必根据你索引的情况而降低。

 

如果您在索引时间提供Bennett并且未分析该值,则以下查询将不返回任何内容:

 

{
  "query": {
    "term" : { "user" : "bennett" }
  }
}

match_phrase如果为查询字段定义分析器,则查询将分析输入,并查找符合以下标准的文档:

>所有字词必须出现在字段中
>它们必须具有与输入值相同的顺序

例如,如果您索引以下文档(使用字段foo的标准分析器):

 

{ "foo":"I just said hello world" }

{ "foo":"Hello world" }

{ "foo":"World Hello" }

此match_phrase查询将仅返回第一个和第二个文档:

 

{
  "query": {
    "match_phrase": {
      "foo": "Hello World"
    }
  }
}

query_string在默认情况下,在包含多个文本字段的文本的_all字段上查询搜索。最重要的是,它被解析并支持一些运算符(AND / OR …),通配符等(见related syntax)。

作为match_phrase查询,根据查询字段上设置的分析器分析输入。

取消链接match_phrase,分析后获得的术语不必按相同的顺序,除非用户已在输入中使用引号。

例如,使用与以前相同的文档,此查询将返回所有文档:

 

{
  "query": {
    "query_string": {
      "query": "hello World"
    }
  }
}

但是此查询将返回与match_phrase查询相同的2个文档:

 

{
  "query": {
    "query_string": {
      "query": "\"Hello World\""
    }
  }
}

关于这些查询的不同选项还有很多要说的,请查看相关文档:

term
match_phrase
query_string

 

https://www.cnblogs.com/buxizhizhoum/p/9874703.html

本文转载自:https://codeday.me/bug/20171004/80156.html

xiaomin0322
粉丝 140
博文 3788
码字总数 193931
作品 0
上海
架构师
私信 提问
触类旁通Elasticsearch:搜索数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/86679996 目录 一、搜索请求的结构 1. 确定搜索范围 2. 搜索请求的基本模块 3. 基于...

wzy0623
01/28
0
0
搜索引擎(Elasticsearch搜索详解)

学完本课题,你应达成如下目标: 掌握ES搜索API的规则、用法。 掌握各种查询用法 搜索API 搜索API 端点地址 搜索的端点地址可以是多索引多mapping type的。搜索的参数可作为URI请求参数给出,...

这很耳东先生
03/26
0
0
23个最有用的Elasticseaerch检索技巧

前言 本文主要介绍 Elasticsearch 23种最有用的检索技巧,提供了详尽的源码举例,并配有相应的Java API实现,是不可多得的 Elasticsearch 学习&实战资料 数据准备 为了讲解不同类型 ES 检索,...

小旋锋的简书
2018/08/24
0
0
Elasticsearch学习(3)—— 查询

https://www.iteblog.com/archives/1741.html 1. 基本匹配查询(Basic Match Query) 基本匹配查询主要有两种形式: (1)使用Search Lite API,并将所有的搜索参数都通过URL传递; GET /all/t...

叶枫啦啦
2018/07/07
0
0
elasticsearch实战三部曲之三:搜索操作

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/86413235 本文是《elasticsearch实战三部曲》的终篇,作为elasticsearch的核心功能,搜索的...

博陵精骑
01/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

八、Docker Swarm

Docker Swarm有两件事:一个企业级的Docker主机安全集群,另一个是用于协调微服务应用程序的引擎。 在集群方面,它将一个或多个Docker节点组合在一起,并允许你将他们作为一个集群来管理。开...

倪伟伟
32分钟前
0
0
Fragment懒加载其实很简单

前言 记得去年面试的时候, 面了一家小公司, 那个面试官问我, fragment的懒加载做过吗?我说没做过(确实没做过).后来面试快结束了, 又问我, 懒加载没做过是吗?后来可想而知也没收到offer, (ಥ_...

天王盖地虎626
32分钟前
0
0
聊聊dubbo的TimeoutFilter

序 本文主要研究一下dubbo的TimeoutFilter ListenableFilter dubbo-2.7.2/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/ListenableFilter.java public abstract class Liste......

go4it
39分钟前
5
0
方法与数组

方法 方法就是完成特定功能的代码块;在很多语言里面都有函数的定义,函数在Java中被称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) throw 异常{ 函数体;...

凹凸凸
今天
4
0
死磕 java同步系列之StampedLock源码解析

问题 (1)StampedLock是什么? (2)StampedLock具有什么特性? (3)StampedLock是否支持可重入? (4)StampedLock与ReentrantReadWriteLock的对比? 简介 StampedLock是java8中新增的类,...

彤哥读源码
今天
11
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部