Elasticsearch Filtered Bool查询

时间:2017-09-29 11:27:36

标签: elasticsearch elastica foselasticabundle

我遇到了一些自定义搜索的严重问题。我想要的只是三个字段中的通配符搜索,结果应该被另一个字段过滤。在Elastica中,它会导致此查询:

{
   "bool":{
      "should":[
         {
            "wildcard":{
               "ean":"*180g*"
            }
         },
         {
            "wildcard":{
               "titel":"*180g*"
            }
         },
         {
            "wildcard":{
               "interpret":"*180g*"
            }
         }
      ],
      "filter":[
         {
            "term":{
               "genre":{
                  "value":"Rock",
                  "boost":1
               }
            }
         }
      ]
   }
}

实际上我找不到错误,但Elasticsearch没有给我Filtered Results。怎么了?如果布尔值应为True或False,Elasticsearch将返回包含Filtered Term的所有Items。当我将过滤器添加为“必须”时,我得到相同的结果?这里有什么问题!?

1 个答案:

答案 0 :(得分:1)

您需要在<?xml version="1.0"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Login Suite" parallel="tests" thread-count="2"> <parameter name="URL" value="www.google.co.in"/> <test name="Login Tests - Win7_Chrome"> <parameter name="OS_Browser" value="Win7_Chrome"/> <classes> <class name="com.company.tests.Login"/> </classes> </test> <test name="Login Tests - Win7_IE"> <parameter name="OS_Browser" value="Win7_IE"/> <classes> <class name="com.company.tests.Login"/> </classes> </test> </suite> 查询中添加"minimum_should_match": 1

bool