es语法 rest api 模拟query 根据中文姓名搜索demo
es语法 rest api 模拟query 根据中文姓名搜索demo order_info_es/_doc/40094182abc GET order_info_es/_settings?pretty GET
{
"order_info_es": {
"settings": {
"index": {
"mapping": {
"total_fields": {
"limit": "2000"
}
},
"number_of_shards": "5",
"provided_name": "order_info_es",
"creation_date": "1614763664247",
"number_of_replicas": "1",
"uuid": "2AmFKQ4SQLOfRVM1H5M7hw",
"version": {
"created": "6081399"
}
}
}
}
} order_info_es/_mappings?pretty GET
"orderInfoDTO": {
"properties": {
"operatorName": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}, order_info_es/_doc/40094182abc GET
"orderInfoDTO": {
"orderNo": "40094182abc",
"statusDesc": "分配操作",
"createTime": "2023-03-21T17:05:37",
"isDelete": 0,
"operatorName": "小明同学",
"updateTime": "2023-03-28T11:05:39",
"id": 2,
"version": 1,
"status": 1,
"createOp": "cbcb0e41df29594b03d53f94eae0db3b" order_info_es/_search POST
{
"query": {
"term": {
"order.orderNo": {
"value": "40094182abc",
"boost": 1
}
}
}
} ##带多个条件的情况查询:
order_info_es/_search POST
{
"query": {
"bool": {
"must": [
{
"term": {
"orderInfoDTO.orderNo": {
"value": "40094182abc",
"boost": 1
}
}
},
{
"term": {
"orderInfoDTO.createOp": {
"value": "cbcb0e41df29594b03d53f94eae0db3b",
"boost": 1
}
}
}
]
}
}
} ##根据订单号搜索
order_info_es/_search POST
{
"query": {
"term": {
"order.orderNo": {
"value": "40094182abc",
"boost": 1
}
}
}
} ##精确匹配:terms
order_info_es/_search POST
{
"query": {
"terms": {
"orderInfoDTO.createOp": [
"cbcb0e41df29594b03d53f94eae0db3b",
"298af1d335ecf13e7492395c8203fe79"
],
"boost": 1
}
}
} #完整
order_info_es/_search POST
{
"from": 0,
"size": 20,
"query": {
"bool": {
"must": [
{
"term": {
"isNew": {
"value": "1",
"boost": 1
}
}
},
{
"term": {
"category": {
"value": "2",
"boost": 1
}
}
},
{
"term": {
"status": {
"value": "8",
"boost": 1
}
}
},
{
"term": {
"order.orderNo": {
"value": "40094182abc",
"boost": 1
}
}
},
{
"terms": {
"orderInfoDTO.operatorName": [
"小明同学"
],
"boost": 1
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"order.reqTime": {
"order": "desc"
}
}
]
} ##可以搜索出来结果:
order_info_es/_search POST
{
"query": {
"match_phrase": {
"orderInfoDTO.operatorName": {
"query": "小明同学",
"slop": 0,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
} order_info_es/_search POST
{
"query": {
"match_phrase": {
"orderInfoDTO.operatorName": {
"query": "小明同学",
"slop": 0,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
} ##搜索关键字:
order_info_es/_search POST
{
"from": 0,
"size": 20,
"query": {
"bool": {
"must": [
{
"term": {
"isNew": {
"value": "1",
"boost": 1
}
}
},
{
"term": {
"category": {
"value": "2",
"boost": 1
}
}
},
{
"term": {
"status": {
"value": "8",
"boost": 1
}
}
},
{
"match_phrase": {
"orderInfoDTO.operatorName": {
"query": "李小龙",
"slop": 0,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"order.reqTime": {
"order": "desc"
}
}
]
} JAVA代码:
boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("orderInfoDTO.operatorName",reqVO.getOrderOperatorNameList().get(0))); order_info_es/_search POST
{
"query": {
"match_phrase": {
"orderInfoDTO.operatorName": "李小龙"
}
}
} JAVA代码:
boolQueryBuilder.must(QueryBuilders.matchQuery("orderInfoDTO.operatorName",reqVO.getOrderOperatorNameList().get(0))); order_info_es/_search POST
{
"query": {
"match": {
"orderInfoDTO.operatorName": "李小龙"
}
}
} order_info_es/_search POST
{
"query": {
"match": {
"orderInfoDTO.operatorName": {
"query": "李小龙",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
} ##可以搜索结果:
order_info_es/_search POST
{
"query": {
"match": {
"orderInfoDTO.operatorName": {
"query": "李小龙",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
} ##无法搜索出来结果:multi_match
order_info_es/_search POST
{
"query": {
"multi_match": {
"query": "orderInfoDTO.operatorName",
"fields": [
"李小龙,小明同学^1.0"
],
"type": "best_fields",
"operator": "OR",
"slop": 0,
"prefix_length": 0,
"max_expansions": 50,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"fuzzy_transpositions": true,
"boost": 1
}
}
} ##无法查询出来结果:term
order_info_es/_search POST
{
"query": {
"term": {
"orderInfoDTO.operatorName": "李小龙"
}
}
} JAVA代码:
//多个条件
if(reqVO.getOrderOperatorNameList()!=null && reqVO.getOrderOperatorNameList().size()>0) {
BoolQueryBuilder subQueryBuilder = new BoolQueryBuilder();
for (int i=0; i<reqVO.getOrderOperatorNameList().size(); i++) {
QueryBuilder queryBuilder = QueryBuilders.matchQuery("orderInfoDTO.operatorName", reqVO.getOrderOperatorNameList().get(i));
subQueryBuilder.should(queryBuilder);
}
boolQueryBuilder.must(subQueryBuilder);
} ##通过或的关系查询:
order_info_es/_search POST
{
"query": {
"bool": {
"should": [
{
"match": {
"orderInfoDTO.operatorName": {
"query": "李小龙",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
},
{
"match": {
"orderInfoDTO.operatorName": {
"query": "小明同学",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
]
}
}
} ##带多个条件的情况:
order_info_es/_search POST
{
"query": {
"bool": {
"must": [
{
"term": {
"isNew": {
"value": "1",
"boost": 1
}
}
},
{
"bool": {
"should": [
{
"match": {
"orderInfoDTO.operatorName": {
"query": "李小龙",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
},
{
"match": {
"orderInfoDTO.operatorName": {
"query": "小明同学",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
]
}
}
]
}
}
}
es语法 rest api 模拟query 根据中文姓名搜索demo的更多相关文章
- [Windows Azure] Using the Graph API to Query Windows Azure AD
Using the Graph API to Query Windows Azure AD 4 out of 4 rated this helpful - Rate this topic This d ...
- ElasticSearch 中文分词搜索环境搭建
ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...
- paip.lucene 4.3 中文语义搜索最佳实践
paip.lucene 4.3 中文语义搜索最佳实践 首先一个问题是要不要使用lucene 自带的分词器...我觉得最好不使用哪自带的分词器.效果还凑火,就是不好控制... 先使用ik,ict,mms ...
- Sphinx + Coreseek 实现中文分词搜索
Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Goo ...
- Java 随机生成中文姓名,手机号,邮编,住址
package lovo; import java.util.HashMap; import java.util.Map; /** * 随机生成中文姓名,性别,Email,手机号,住址 * @auth ...
- MySQL中文全文搜索
我们在mysql数据中可以使用match against语句解决中文全文搜索的问题 先看一个例句: SELECT * FROM v9_search WHERE `siteid`= '1' AND `t ...
- iOS- 本地文本容错搜索引擎2-->如何实现英文(英文首字母,汉语拼音)对中文的搜索?
1.前言 先闲说几句,最近北京的雾霾真是大,呛的我这攻城师都抗不住了.各位攻城师们一定要爱护好自己的身体!空气好时,少坐多动. 如果条件好的话,最好让你们BOSS搞个室内空气净化器.因为那几天一般 ...
- Postgresql数据库安装中文全文搜索插件zhparser的问题
在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...
- 随机数生成工具类(中文姓名,性别,Email,手机号,住址)
public class RandomValueUtil { public static String base = "abcdefghijklmnopqrstuvwxyz012345678 ...
- jdk1.8帮助文档中文可搜索
jdk1.8帮助文档中文可搜索 链接:https://pan.baidu.com/s/11beeZLpEIhciOd14WkCpdg 提取码:t4lw
随机推荐
- 阿里云 Serverless 助力企业全面拥抱云原生
简介:相信随着云计算的发展,Serverless 将成为云时代默认的计算范式,越来越多的企业客户将会采用这个技术. 作者:洛浩 Serverless 应用引擎的组件架构 最早的时候,大家设计软件一般 ...
- 37 手游基于 Flink CDC + Hudi 湖仓一体方案实践
简介: 介绍了 37 手游为何选择 Flink 作为计算引擎,并如何基于 Flink CDC + Hudi 构建新的湖仓一体方案. 本文作者是 37 手游大数据开发徐润柏,介绍了 37 手游为何选择 ...
- 使用 Docker 自建一款怀旧游戏之 - 超级马里奥
1)超级马里奥 简介 < 超级马里奥 >(Super Mario)是任天堂公司创造的一款经典游戏系列,是世界上最知名.最成功的游戏之一.这个系列由日本设计师宫本茂于 1985 年创造,最初 ...
- STM32定时器原理
一.简介 不同的芯片定时器的数量不同,STM32F10x中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器. 基本定时器:TIM6. ...
- 网站访问速度优化实战:CDN源/Nginx压缩/全站CDN加速
前言 接触到CDN的起因: 我自己搭建的网站https://price.monitor4all.cn/网页打开的速度一直比较慢,经查证是我的网站有很多静态js大文件,通过浏览器读取这些js比较耗时间. ...
- 如何阅读 Paper
前言 论文(Paper)通常是新技术.算法.编程方法或软件工具的首次公布.通过阅读论文,我们可以了解最新的技术进展,保持自己的技能和知识是最新的. 同时,论文提供了对特定主题深入理解的机会.它们通常包 ...
- STM32F1和STM32F4系列DMA的不同之处——对STM32的DMA的工作机制的一些理解
喜欢用STM32的DMA功能.一方面STM32的DMA和MPU的DMA一样,可以提高数据传输效率.另一方面,作为一种MCU上的DMA,它可以提高针对外设(peripheral)的数据传输的实时性,改变 ...
- LVS负载均衡(4)-- LVS FWM防火墙标记
防火墙标记的作用是:借助于防火墙标记来分类报文,然后基于标记定义集群服务:可将多个不同的应用使用同一个集群服务进行调度. 实现方法: 在Director主机打标记,作用在mangle表的PREROUT ...
- 传入一个List集合,返回分页好的数据
传入一个List集合,返回分页好的数据. 定义分页信息类: package com.cn.common; import java.util.List; public class CommonPage& ...
- 如何使用Splashtop在家里进行有效的新人入职培训
编辑搜图 请点击输入图片描述 今天的新闻有点不简单,不得了. 简而言之,利用Splashtop可以在家里进行有效的新人入职培训.最棒的地方就在于--两个用户可以远程访问同一台计算机,并且可以看到彼此的 ...