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的更多相关文章

  1. [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 ...

  2. ElasticSearch 中文分词搜索环境搭建

    ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...

  3. paip.lucene 4.3 中文语义搜索最佳实践

    paip.lucene 4.3 中文语义搜索最佳实践 首先一个问题是要不要使用lucene 自带的分词器...我觉得最好不使用哪自带的分词器.效果还凑火,就是不好控制... 先使用ik,ict,mms ...

  4. Sphinx + Coreseek 实现中文分词搜索

    Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Goo ...

  5. Java 随机生成中文姓名,手机号,邮编,住址

    package lovo; import java.util.HashMap; import java.util.Map; /** * 随机生成中文姓名,性别,Email,手机号,住址 * @auth ...

  6. MySQL中文全文搜索

    我们在mysql数据中可以使用match against语句解决中文全文搜索的问题 先看一个例句: SELECT * FROM v9_search WHERE `siteid`= '1' AND `t ...

  7. iOS- 本地文本容错搜索引擎2-->如何实现英文(英文首字母,汉语拼音)对中文的搜索?

      1.前言 先闲说几句,最近北京的雾霾真是大,呛的我这攻城师都抗不住了.各位攻城师们一定要爱护好自己的身体!空气好时,少坐多动. 如果条件好的话,最好让你们BOSS搞个室内空气净化器.因为那几天一般 ...

  8. Postgresql数据库安装中文全文搜索插件zhparser的问题

    在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...

  9. 随机数生成工具类(中文姓名,性别,Email,手机号,住址)

    public class RandomValueUtil { public static String base = "abcdefghijklmnopqrstuvwxyz012345678 ...

  10. jdk1.8帮助文档中文可搜索

    jdk1.8帮助文档中文可搜索 链接:https://pan.baidu.com/s/11beeZLpEIhciOd14WkCpdg 提取码:t4lw

随机推荐

  1. 阿里云IoT Studio升级版新增解决方案引擎 大幅提升方案交付效率

    简介: 8月25日,阿里云发布IoT Studio升级版,新增了解决方案引擎,让设备方案商复用之前搭建的解决方案模板进行简单的定制化修改,即可交付.使整个物联网解决方案的交付过程由几个月,缩短到几小时 ...

  2. [Go] 结构体成员的第三个位置上标签的作用

    结构体成员加了第三个位置的标签,在转换指定类型时,key 会使用指定的名字. package main import ( "encoding/json" "log&quo ...

  3. 通过AMDP调用HANA的PAL函数

    SAP预测分析库(SAP Predictive Analysis Library,PAL)是SAP HANA中的一项功能,它允许我们在SAP HANA SQLScript过程中执行分析算法. 基于AB ...

  4. 【爬虫数据集】李子柒YouTube频道TOP10热门视频的TOP2000热门评论,共计2W条

    目录 一.背景 二.爬取目标 三.结果展示 四.演示视频 五.附完整数据 一.背景 这段时间,有超多小伙伴找我要YouTube数据,做数据分析.情感分析之类的研究工作,但很多人并不是计算机软件相关专业 ...

  5. [2]自定义Lua解析方式

    [2]自定义Lua解析方式 在上文中我们学会学会更改加载路径,加载对应文件夹下的Lua脚本. 默认解析加载的lua脚本存在的文件位置非AB包或者Resources文件夹下往往不能随包体更新,这显然不符 ...

  6. LOTO示波器软件PC缓存(波形录制与回放)功能

    当打开PC缓存功能后, 软件将采用先进先出的原则排队对示波器采集的每一帧数据, 进行帧缓存. 当发现屏幕中有感兴趣的波形掠过时, 鼠标点击软件的(暂停)按钮, 可以选择回看某一帧的波形.一帧数据的量  ...

  7. java学习之旅(day.17)

    GUI编程 GUI:图形用户界面编程 GUI快淘汰了 GUI的核心技术:Swing . AWT 这是类 做一个场景页面涉及的组件 窗口.弹窗.面板.文本框.列表框.按钮.图片.监听事件.鼠标.键盘.破 ...

  8. AIRIOT答疑第5期|如何使用低代码业务流引擎?

    推拉拽! AIRIOT平台业务流引擎可创建丰富的业务流程,实现从流程定义.数据处理.任务工单.消息通知.日志追踪的闭环流转.多类型节点任意组合,可视化流程日志,精准追踪流程流转.人工任务统一管理,审批 ...

  9. C# Log4net 组件无法写日志 IsDebuged、IsInfoEnabled、IsErrorEnabled 全部为false

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)] 如果 ...

  10. java jdbc 得到像C#里的datatable一样的表格

    public ArrayList<ArrayList<String>> getDataTale2(String sql) throws SQLException { Array ...