Lucene JSON查询语法
我试图查询一个Elasticsearch包装的Lucene索引,其中包含edge Ngram,但无法理解文档中如何对其应用布尔运算符。我有这个:Lucene JSON查询语法,lucene,
elasticsearch,Lucene,
elasticsearch,我试图查询一个Elasticsearch包装的Lucene索引,其中包含edge Ngram,但无法理解文档中如何对其应用布尔运算符。我有这个: { "query":{ "bool":{ "should":[ { "match":{ "name.partial":"+henry +james" } } ] } }} 这是行不通的(我得到的结果是有亨利和没有詹姆斯,反之亦然),也不是“亨利·詹
{
"query":{
"bool":{
"should":[
{
"match":{
"name.partial":"+henry +james"
}
}
]
}
}}
这是行不通的(我得到的结果是有亨利和没有詹姆斯,反之亦然),也不是“亨利·詹姆斯”,或者亨利和詹姆斯——不管怎样,我都能得到同样的结果。如何获得所需的行为?您应该使用该查询。如果您使用匹配查询,我认为您唯一能做的就是指定要使用的查询和运算符,如下所示:
{
"match" : {
"message" : {
"query" : "this is a test",
"operator" : "and"
}
}
}
这就成功了——我的大脑仍然在思考这是如何工作的。谢谢弹性搜索岩石!查询DSL为您提供了许多选项,这就是为什么很难选择正确的查询:)