繁体   English   中英

用户创建复杂的查询和搜索 elasticsearch

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM