我很难得到这个弹性搜索查询合作。我目前正在尝试使用Bool Query来获取精确和分析/全文搜索的结果。ElasticSearch混合查询类型
我似乎不能,什么都原因,使用布尔查询中match
过滤器:
{
"bool":{
"should":[
"match":{"mainInfo.states": "Wisconsin"},
"match":{"mainInfo.cities": "WI"}
]
}
}
这将引发一个解析错误,告诉我那场比赛不是一个查询类型。
我需要能够在也有词条过滤器的布尔查询中进行全文搜索。所以基本上我想有一个查询有点像这样:
{
"bool":{
"must":[
"term":{"mainInfo.clientId":"123456"}
],
"should":[
"match":{"mainInfo.states": "Wisconsin"},
"match":{"mainInfo.cities": "WI"}
]
}
}
我在哪里可以有1个或2个学期该必须存在,并在他们的2应该存在几个全文搜索。
我还使用function_score查询来返回随机,可分页结果使用random_seed
。
我的问题是,我无法获取全文查询在我的布尔查询中运行。似乎只有term
过滤器工作。另外,当我把match
查询放在bool查询之外时,似乎匹配查询可以工作,或者bool查询可以工作,但从来都不是。
我似乎无法形成一个匹配几个term
查询和几个匹配查询的查询。 term
必须存在,其中match
应该存在(所以至少匹配其中一个过滤器)。
我绝不是一个elasticsearch专家,当你在寻找更复杂的查询信息时,文档看起来很模糊。
如果任何人都可以借用一个例子来说明如何以这种方式进行查询,那将不胜感激。但是,请不要将我链接到Bool Queries或任何其他ElasticSearch文档的文档。我向你保证我已经彻底读过它们,并且我已经尝试了许多不同的方法来执行这个查询,但没有一个似乎有预期的行为。
我使用ElasticSearch 1.3.2
看来我只得到'clientId',或这些曾经在过去的对象来。我似乎得到了术语或匹配查询的结果,但从来都没有。 我觉得这是使用“function_score”查询的结果 – tsturzl 2014-09-23 09:33:08
您可以发布您的映射示例吗? – 2014-09-23 10:30:36
你使用嵌套类型吗? – 2014-09-23 11:15:50