美文网首页
query_string和simple_query_string

query_string和simple_query_string

作者: 宙斯是只猫 | 来源:发表于2019-07-25 21:07 被阅读0次

query_string,simple_query_string与match查询的区别在于前者的查询,语法是写在query里面的,后者是通过json的数据结构来查询,另外前者对于多字段的查询比较好,比如kibana上面的那个搜索框进行整个index搜索,没有指定field的情况下就是用query_string来做的.

query_stringsimple_query_string的区别在于对'and or not'等查询的支持上,比如在query_string的情况下'Pantheon AND LEO',这句话如果解析是查询必须要同时包含PATHEONLEO,而simple_query_string则是将其分词成Pantheon,ANDLEO,默认的operator为OR,所以只要出现这一个就可以了,下面举两个小例子


PUT test/doc/1
{
  "name":"Pantheon Pan",
  "address":"Shanghai province,Leo Pan is not here"
}

PUT test/doc/2
{
  "name":"Leo Pan",
  "address":"Beijing province,Pantheon Pan is not here"
}

查询出Beijing province这段话

GET /test/doc/_search
{
  "query": {
    "query_string": {
      "query": "Beijing AND province"
    }
  }
}


GET /test/doc/_search
{
  "query": {
    "simple_query_string": {
      "query": "Beijing + province"
    }
  }
}

//用minimum_should_match
GET /test/doc/_search
{
  "query": {
    "query_string": {
      "query": "Beijing  province",
     
      "minimum_should_match": "100%"
    }
  }
}

相关文章

网友评论

      本文标题:query_string和simple_query_string

      本文链接:https://www.haomeiwen.com/subject/wbbkrctx.html