Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lucene JSON查询语法_Lucene_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Lucene,elasticsearch" /> elasticsearch,Lucene,elasticsearch" />

Lucene JSON查询语法

Lucene JSON查询语法,lucene,elasticsearch,Lucene,elasticsearch,我试图查询一个Elasticsearch包装的Lucene索引,其中包含edge Ngram,但无法理解文档中如何对其应用布尔运算符。我有这个: { "query":{ "bool":{ "should":[ { "match":{ "name.partial":"+henry +james" } } ] } }} 这是行不通的(我得到的结果是有亨利和没有詹姆斯,反之亦然),也不是“亨利·詹

我试图查询一个Elasticsearch包装的Lucene索引,其中包含edge Ngram,但无法理解文档中如何对其应用布尔运算符。我有这个:

{
  "query":{
  "bool":{
    "should":[
      {
        "match":{
          "name.partial":"+henry +james"
        }
      }
    ]
  }
}}
这是行不通的(我得到的结果是有亨利和没有詹姆斯,反之亦然),也不是“亨利·詹姆斯”,或者亨利和詹姆斯——不管怎样,我都能得到同样的结果。如何获得所需的行为?

您应该使用该查询。如果您使用匹配查询,我认为您唯一能做的就是指定要使用的查询和运算符,如下所示:

{
    "match" : {
        "message" : {
            "query" : "this is a test",
            "operator" : "and"
        }
    }
}

这就成功了——我的大脑仍然在思考这是如何工作的。谢谢弹性搜索岩石!查询DSL为您提供了许多选项,这就是为什么很难选择正确的查询:)