ES高级查询语法

ES高级查询语法
1.match_all
1.1 返回源数据_source
1.2 返回指定条数size
1.3 分页查询from&size
1.4 指定字段排序sort
2.术语级别查询
2.1 term query 术语查询
2.2 term query 多术语查询
2.3 exists query
2.4 ids query
2.5 range query范围查询
2.5 prefix query 前缀查询
2.6 wildcard query 通配符查询
3.全文检索
3.1 match query 匹配查询
3.2 multi_match 多条件查询
3.3 match_phrase query
3.4 query_string
3.5 simple_query_string
4.ES深度分页问题
4.1 什么是深度分页
4.2 深度分页带来的后果
4.3 常见解决方案:避免深度分页

ES 分页问题: ES7之后,官方建议使用search_after分页,不建议使用scroll

from+size 性能低
scorll 性能中
search_after 性能高 海量数据分页推荐

5.ES 分词器
5.1切词器
词项过滤器:停用词,同义词

_analyze
"analyze":"standard" /ik_smart/ik_max_word
"filter":["upercase"] /["stop"]
"char_filter":{
"type":"html_strip" //html过滤器
}
5.2字符过滤器:
html过滤器,
字符映射过滤器
正则过滤器把手机号码隐藏,把特殊字符脏字*号显示
5.3 倒排索引的数据结构

英文停用词/中日韩停用词:a,an,and
es-ik/7.17.3/config/stopword.dic
es-ik/7.17.3/config/main.dic

词项:分词后的每一项词条
过滤器filter:

6.相关性
7.单字符串多字段查询
8.聚合操作

   _search/scroll
   ES7之后,官方建议使用search_after分页,不建议使用scroll

es_db/_pit?keep_alive=1m

POST /es_db/_pit?keep_alive=1m 3 #返回结果,会返回一个PID的值4
{
"id" :
"39K1AwEFZXNfZGIWZTN2N2Nrdk5RRjY3QjBma1h5aFRodwAWdkhjbE9YNVRTMUNDcWNQQVR2ZXYzdwAAAAAAAA
A9jhZvaGpLSDlzVVMxbW5idG5DZ0xEUHFRAAEWZTN2N2Nrdk5RRjY3QjBma1h5aFRodwAA"
56 } 7

posted @   大树2  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2012-08-28 Objective-C Content list
2008-08-28 客户端执行 DDL下拉框调用页面JAVACRIP 涵数ddlQuery.Attributes.Add("onchange","changeSearchText();"); DataGrid 绑定项调用JAVASCRIPT,客户端
点击右上角即可分享
微信分享提示