[英]user create complex query and search over elasticsearch
用户是否可以创建复杂的查询并阐明从 ui 搜索和在 elasticsearch 中搜索的条件? 我知道弹性搜索中的 boolean 查询,但我需要实现我的查询,即每次用户可以为我发送不同的条件,例如 <、>、.= 和...
实际上,有两种方法可以从用户输入中接受运算符:
简单查询字符串
simple_query_string 查询支持以下运算符:
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
~N after a word signifies edit distance (fuzziness)
~N after a phrase signifies slop amount
例子
GET /_search
{
"query": {
"simple_query_string" : {
"query": "\"fried eggs\" +(eggplant | potato) -frittata",
"fields": ["title^5", "body"],
"default_operator": "and"
}
}
}
请求参数
query_string 支持更复杂的语法,但不建议在搜索框中使用它,因为任何无效语法都会返回错误。
例子
GET /_search
{
"query": {
"query_string": {
"query": "(new york city) OR (big apple)",
"default_field": "content"
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.