我遇到了一些自定义搜索的严重问题。我想要的只是三个字段中的通配符搜索,结果应该被另一个字段过滤。在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。当我将过滤器添加为“必须”时,我得到相同的结果?这里有什么问题!?
答案 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