简单查询 query string
何处使用
- 查询q参数方式
GET /_search?q=user:kimchy
GET /kimchy,elasticsearch/_search?q=tag:wow
- 查询body方式
GET /_search
{
"query": {
"query_string" : {
"query" : "this AND that OR thus"
}
}
}
- 控制台数据集查询框采用 query string 可快速调试
基础用法
1. 关键词最简单的关键词匹配
hello
带运算符的关键词匹配
this AND that OR thus
(new york city) OR (big apple)
其中status字段包含active
status:active
title:(quick OR brown)
title:(quick brown)
其中作者字段包含确切的短语“john smith”
author:"John Smith"
其中任何字段 book.title、book.content 或 book.date 包含 quick 或 brown (注意我们需要如何用反斜杠转义 *)
book.\*:(quick brown)
(content:this OR name:this) AND (content:that OR name:that)
date:[2012-01-01 TO 2012-12-31]
count:[1 TO 5]
count:[10 TO *]
date:{* TO 2012-01-01}
进阶用法
1. 关键词权重如下例quick会在bm25算分的结果上乘以2, 因此会有更高的排名。
quick^2 fox
算分提升也可以应用于短语或组
"john smith"^2 (foo bar)^4
其他用法
1. 模糊查询我们可以使用“模糊”运算符搜索与我们的搜索词相似但不完全相同的词:
quikc~ brwn~ foks~
*hello*world*
name:/joh?n(ath[oa]n)/
提示
使用提示: 以上三种用法需谨慎使用,在大数据量场景不会使用到倒排索引,因而产生极高的计算量及性能损耗。