弹性搜索查询像正则表达式

时间:2016-08-01 01:25:21

标签: elasticsearch kibana elasticsearch-2.0

我使用的是kibana-4.5.0,elasticsearch 2.3.2

我想在kibana中通过此查询“*'ve have”找到特定的句子。 它在kibana中不起作用。

所以,我在kibana尝试了span_near fillter。

{
  "query": {
    "span_near": {
      "clauses": [
        {
          "span_term": {
            "items": "*ve"
          }
        },
        {
          "span_term": {
            "items": "have"
          }
        }
      ],
      "in_order": true,
      "slop": 1
    }
  }
}

此外,它没有用。

所以,我尝试在头插件中搜索查询。

http://localhost:9200/_search
{"query" : {
    "span_near" : {
      "clauses" : [
        { "span_term" : { "items" : "we've" } },
        { "span_term" : { "items" : "have" } }
      ],
      "slop" : 1,
      "in_order" : true
    }
  }
}

我使用默认设置。所以我想我曾经默认analayzer。

另外,我试过正则表达式查询它也不适合我。

我该怎么办?

“我们有”或“我有”或“他有”

这不是我的希望。我希望像“*'有”

感谢您的阅读

1 个答案:

答案 0 :(得分:0)

在ES中使用正则表达式是不可能的,但是你可以在elasticsearch中使用正则表达式:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html