ES 匹配多个搜索条件和精确查询

本文涉及的产品
云解析DNS-重点域名监控,免费拨测 20万次(价值200元)
简介: ES 匹配多个搜索条件和精确查询

匹配多个搜索条件

GET /weiyihe/user/_search
{
  "query":{
    "match": {
      "tags": "男"
    }
  }
}

网络异常,图片无法展示
|

网络异常,图片无法展示
|

多个条件直接用空格隔开,满足其中一个结果,就能被查出,这时候可以通过score进行基本判断

网络异常,图片无法展示
|

注意score,满足的条件越多.score越高权重越大

网络异常,图片无法展示
|

精确查询

term查询是直接通过倒排索引指定的词条进行精确的查找的 效率会更高

关于分词

 由于term是倒排索引,直接进行精确查询

match会使用分词器进行解析,先分析文档,然后在通过分析的文档进行查询

两个字符串类型

text和keyword

text可以被分词器解析

keyword由于不可分割,不可以被分词器解析

创建索引库手动指名字段类型

PUT testdb
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "desc":{
        "type":"keyword"
      }
    }
  }
}

网络异常,图片无法展示
|

再创建一个索引库,使用默认字段,新增数据

网络异常,图片无法展示
|

再插入一条

网络异常,图片无法展示
|

查看数据

网络异常,图片无法展示
|

使用keyword分词器查询数据 ,发现结果不会被分隔,因为keyword是一个整体,也可以说字符串没有被分析

GET _analyze
{
  "analyzer": "keyword",
  "text": "魏一鹤学习Java"
}

网络异常,图片无法展示
|

使用普通数据类型使用分词器,发现结果被分隔,正常的字符串是可以分析的

GET _analyze
{
  "analyzer": "standard",
  "text": "魏一鹤学习Java"
}

网络异常,图片无法展示
|

结论:

keyword类型不会被分词器解析

相关文章
|
7月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
3360 0
|
自然语言处理 索引
ES中如何对text字段进行精确匹配
ES中如何对text字段进行精确匹配
1446 0
|
9月前
|
SQL 分布式计算 资源调度
Dataphin功能Tips系列(48)-如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
349 4
|
消息中间件 存储 Java
Kafka 如何避免重复消费?
在Apache Kafka中,避免消息的重复消费是确保数据准确处理的关键。本文详细介绍了七种避免重复消费的方法:使用消费者组、幂等生产者、事务性生产者与消费者、手动提交偏移量、外部存储管理偏移量、去重逻辑及幂等消息处理逻辑。每种方法均有其优缺点,可根据实际需求选择合适方案。结合消费者组、手动提交偏移量和幂等处理逻辑通常是有效策略,而对于高一致性要求,则可考虑使用事务性消息。
2164 0
|
前端开发 JavaScript 开发者
改变 HTML 内容
【9月更文挑战第04天】
163 1
|
调度
MNN createSession 之 Schedule(三)
MNN createSession 之 Schedule(三)
201 5
|
自然语言处理 Docker 容器
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
283 0
|
自然语言处理 Java 关系型数据库
ElasticSearch 实现分词全文检索 - SpringBoot 完整实现 Demo 附源码【完结篇】
ElasticSearch 实现分词全文检索 - SpringBoot 完整实现 Demo 附源码【完结篇】
431 0
|
自然语言处理 Java
ElasticSearch 实现分词全文检索 - match、match_all、multimatch查询
ElasticSearch 实现分词全文检索 - match、match_all、multimatch查询
1254 0
|
网络协议 安全 Docker
windows环境下的设置docker远程访问(开放2375端口)
windows环境下的设置docker远程访问(开放2375端口)
3477 0