文档章节

elasticsearch 字符串搜索

鸡蛋炒馒头
 鸡蛋炒馒头
发布于 2017/04/05 15:11
字数 515
阅读 28
收藏 1

字符串搜索中用到的有:

+ 表示条件都满足(表示“并且”关系)

- 表示必须的不满足(表示“非”关系)

什么都没有则表示 可选(或者关系)

常用的 encoder后用到的自符:%2B表示+  %3A冒号 -表示的还是-  具体的方式在java中可以根据:URLEncoder.encode 来查看

查询所有的索引下的数据信息
duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?pretty'

普通的搜索 表示在所有索引下的数据中 筛选 last_name 为Smith的数据:

duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=last_name:Smith&pretty'

普通搜索 表示在所有索引下的数据中 所有字段中包含 Smith的数据:

duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=Smith&pretty'

注:在所有的字段中搜索相当于数据被拼接成啦 各个字段相累加的一个 _all的字段

当你索引一个文档,Elasticsearch把所有字符串字段值连接起来放在一个大字符串中,它被索引为一个特殊的字段_all。例如,当索引这个文档:
{
    "tweet":    "However did I manage before Elasticsearch?",
    "date":     "2014-09-14",
    "name":     "Mary Jones",
    "user_id":  1
}
这好比我们增加了一个叫做_all的额外字段值:
"However did I manage before Elasticsearch? 2014-09-14 Mary Jones 1"
若没有指定字段,查询字符串搜索(即q=xxx)使用_all字段搜索。

使用都满足的 并且条件 

这里的+表示或者(链接)的意思[last_name为John 或者 Jane 或者 Douglas]
curl -i -XGET 'http://localhost:9200/_search?q=last_name:(John+Jane+Douglas)&pretty'


这里的 + 表示的是 链接的意思 %2B表示的是并且的意思[last_name为John 或者 Jane 或者 Douglas,并且 last_name为:Smith]
duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=first_name:(John+Jane+Douglas)+%2Blast_name:Smith&pretty'


这里的 + 表示的是 链接的意思 %2B表示的是并且的意思[last_name为John 或者 Jane 或者 Douglas,并且 last_name为:Smith 并且 在_all中包含love]
duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=first_name:(John+%2BJane+Douglas)+%2Blast_name:Smith+%2Blove&pretty'

 

© 著作权归作者所有

鸡蛋炒馒头
粉丝 2
博文 37
码字总数 14256
作品 0
浦东
后端工程师
私信 提问
[译]ElasticSearch数据类型--string类型已死, 字符串数据永生

原文链接: https://www.elastic.co/blog/s... Text vs. keyword 随着ElasticSearch 5.0的到来, 同时也迎来了该版本的重大特性之一: 移除了类型. 这个变动的根本原因是类型会给我们带来很多困...

牧曦之晨
09/29
0
0
Elasticsearch7.2中文文档翻译(一):Elasticsearch简介

Elasticsearch7.2系列文章:https://www.xugj520.cn/category/ES/![2019-07-17T09:38:26.png][1] 为了搜索和分析,你懂得!!! 简介 Elasticsearch是Elastic Stack核心的分布式搜索和分析引...

高效码农
07/24
113
0
Elasticsearch中文分词研究

一、ES分析器简介 ES是一个实时搜索与数据分析引擎,为了完成搜索功能,必须对原始数据进行分析、拆解,以建立索引,从而实现搜索功能; ES对数据分析、拆解过程如下: 首先,将一块文本分成...

zhaipengfei1231
2018/04/18
0
0
ElasticSearch开发问题汇总(不断更新中)

1、Mapping: [译]ElasticSearch数据类型--string类型已死, 字符串数据永生 ElasticSearch动态日期映射 2、Spring Data Elasticsearch: Spring Data Elasticsearch教程...

九州暮云
2018/07/18
246
0
Elasticsearch学习笔记4: 分词和中文分词

分析器: 分析器作用是将指定字符串处理成多个单个的词条,创建倒排索引。当索引数据时,分析器会将对应的数据处理分词后,创建倒排索引,当搜索时,将待搜索的字符串处理成词条,再去倒排索...

子夜闻雪
2017/11/08
126
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
15分钟前
3
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
17分钟前
2
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部