Elasticsearch запрос с двоеточием - PullRequest
0 голосов
/ 11 апреля 2019

как мне написать запрос с двоеточием в поисковом значении?

{
  "size": 0,
  "_source": [
    "attrs.from"
  ],
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "@timestamp": {
              "gte": 1554792885000,
              "lte": 1554814485000,
              "format": "epoch_millis"
            }
          }
        },
        {
          "query_string": {
            "query": "attrs.r-uri:sip\\:example.org",
            "analyze_wildcard": true,
            "fuzzy_max_expansions": 0,
            "fuzziness": 0
          }
        }
      ]
    }
  },
  "aggs": {
    "agg": {
      "date_histogram": {
        "field": "@timestamp",
        "interval": "5m",
        "time_zone": "Europe/Berlin",
        "min_doc_count": 1
      },
      "aggs": {
        "agg": {
          "terms": {
            "field": "attrs.type",
            "size": 30,
            "order": {
              "_count": "desc"
            }
          }
        }
      }
    }
  }
}

Как видите, я пытался использовать uri:sip\\:example.org или uri:sip\:example.org, но пока безуспешно. Но когда я делаю тот же запрос из kibana (и вижу запрос диаграммы), он работает, поэтому это не проблема токенизации.

--------- UPDATE ---------------

Вот отображение для поля r-uri

"r-uri": {   
         "index": true,
         "type": "text",                         
         "copy_to": "attrs.all_copy",
         "analyzer": "autocomplete",
         "search_analyzer": "whitespace",
         "fields": {
                  "keyword":{
                        "type": "keyword",
                        "index": true
                  }
          }

Анализатор:

 "analysis": {
          "filter": {
            "autocomplete_filter": {
              "type": "ngram",
              "min_gram": 3,
              "max_gram": 4
            }
          },
           "analyzer": {
            "autocomplete": {
              "filter": [
                "lowercase",
                "autocomplete_filter"
              ],
              "type": "custom",
              "tokenizer": "whitespace"
            }
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...