запрос elasticsearch, такой как регулярное выражение

Я использую kibana-4.5.0, elasticsearch 2.3.2.

я хочу найти конкретное предложение по этому запросу «* у меня есть» в кибане. это не сработало в кибане.

Итак, я попробовал 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
    }
  }
}

я использовал настройку по умолчанию. поэтому я думаю, что я использовал анализатор по умолчанию.

Кроме того, я попробовал запрос регулярного выражения, у меня это тоже не сработало.

Как я могу сделать?

"у нас есть" ИЛИ "у меня есть" ИЛИ "у него есть"

это не моя надежда. я надеюсь, что как "* у меня есть"

спасибо за чтение


person woocheol    schedule 01.08.2016    source источник
comment
Взгляните на спецификацию синтаксиса запросов Lucene. Примечание. Нельзя использовать * или ? символ в качестве первого символа поиска. lucene.apache.org/core/2_9_4/queryparsersyntax.html   -  person bhspencer    schedule 01.08.2016
comment
я понял... это невозможно в elasticsearch...   -  person woocheol    schedule 01.08.2016


Ответы (1)


Невозможно использовать регулярное выражение в ES так, как вы это делали, но вы можете использовать регулярное выражение в elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html

person Dmitry Lovermann    schedule 04.08.2016