Elasticsearch:过滤器不适用于通配符查询

时间:2016-02-23 19:11:02

标签: elasticsearch elasticsearch2

这是我的查询

POST indexName/test/_search
{
  "fields" : ["Col1"],
  "query":{
                        "filtered":{

                        "query":{


                        "wildcard": {

                            "Col1": {

                                  "value": "*zxc*"
                               }
                            }

                          },
                        "filter":
                {
                  "term": { 

                    "Col2": "val" 

                  }
                }
                    }

            }
}

所以我想在Col1上为值*zxc*做一个通配符,我只希望Col2val的那些值返回0次点击。我的语法有什么问题吗?

如果删除过滤器,通配符查询将独立工作。

修改

这是有效的

POST indexName/test/_search
{
  "fields" : ["Col1"],
  "query":{
                        "filtered":{


                        "filter":
                {
                  "term": { 

                    "Col2": "val" 

                  }
                }
                    }

            }
}

返回样本文件

{
        "_index": "indexName",
        "_type": "test",
        "_id": "oainfubgvwurebetrnjt",
        "_score": 1,
        "fields": {
          "Col1": [
            "uyiwebvybg iuowenbgubnrwev  uirbgvuire3bv  vuirbg"
          ]
        }
      }

这样做

POST indexName/test/_search
{
  "fields" : ["Col1"],
  "query":{
                        "wildcard": {

                            "Col1": {

                                  "value": "*zxc*"
                               }
                            }

            }
}

返回样本文件

{
        "_index": "indexName",
        "_type": "test",
        "_id": "aofnhuiwegbnweu",
        "_score": 1,
        "fields": {
          "Col1": [
            "idasihid huwbgbuiwb iuohfuweb zxc oifjhwgbu"
          ]
        }
      }

所以这两个查询都是独立工作的。我如何结合它们?

修改

这是两个字段包括

的典型响应

{             “_index”:“indexName”,             “_type”:“测试”,             “_id”:“aofnhuiwegbnweu”,             “_score”:1,             “fields”:{               “Col1”:[                 “idasihid huwbgbuiwb iuohfuweb zxc oifjhwgbu”               ],

        "Col2": [
                "asd"
              ]
        }
      }

查询

POST indexName/test/_search
    {
      "fields" : ["Col1","Col2"],
      "query":{
                            "wildcard": {

                                "Col1": {

                                      "value": "*zxc*"
                                   }
                                }

                }
    }

其他人的类似结果

0 个答案:

没有答案