Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Filter Elasticsearch复杂邻近查询_Filter_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Proximity - Fatal编程技术网 elasticsearch,proximity,Filter,elasticsearch,Proximity" /> elasticsearch,proximity,Filter,elasticsearch,Proximity" />

Filter Elasticsearch复杂邻近查询

Filter Elasticsearch复杂邻近查询,filter,elasticsearch,proximity,Filter,elasticsearch,Proximity,考虑到我的问题如下: 理事会*W/5(小费或小费) 上面的查询可以翻译为:查找任何相隔不超过5个单词的council*和(提示或提示) 因此,以下文本将匹配: 海港城市议会提示 委员会最佳提示 理事会十大建议 但这一个不应该匹配: 。。。谢尔港市议会。根本没有什么好的提示 我需要帮助来建立一个elasticsearch查询。我在考虑Regex查询,但我不太确定是否有更好的选择。谢谢您可以使用查询和的组合。我们可以使用下面的查询执行相同的搜索 { "query": { "s

考虑到我的问题如下:


理事会*W/5(小费或小费)

上面的查询可以翻译为:查找任何相隔不超过5个单词的council*(提示或提示)

因此,以下文本将匹配:

  • 海港城市议会提示
  • 委员会最佳提示
  • 理事会十大建议
但这一个不应该匹配:

  • 。。。谢尔港市议会。根本没有什么好的提示

我需要帮助来建立一个elasticsearch查询。我在考虑Regex查询,但我不太确定是否有更好的选择。谢谢

您可以使用查询和的组合。我们可以使用下面的查询执行相同的搜索

{
  "query": {
    "span_near": {
      "clauses": [
        {
          "span_multi":
          {
            "match":
            {
              "prefix": { "text": "council"}
            }
          }
        },
        {
          "span_or": {
            "clauses": [
              {
                "span_term": {
                  "text": {
                    "value": "tip"
                  }
                }
              },
              {
                "span_term": {
                  "text": {
                    "value": "tips"
                  }
                }
              }
            ]
          }
        }
      ],
      "slop": 5,
      "in_order": true
    }
  }
}

需要注意的重要事项是span\u术语,它是您搜索的文本。在本例中,我只有一个名为“text”的字段Slop表示我们允许在术语之间使用的字数,按顺序表示字数顺序很重要。所以“议会小费”和“议会小费”不匹配。

谢谢,伙计,这正是我想要的。我的查询非常复杂,我必须实现一些东西来使用这些span_*elasticsearch查询翻译这些查询。