Какой анализатор следует использовать для всех типов строк в Elasticsearch?

#elasticsearch

Вопрос:

У меня есть 100 документов со следующими типами текста в них.

Образец текста

 doc1 : {"text":"John cena 502500034 john@email.com"}
doc2 : {"text":"Mark Henry 4929-3813-3266-4295 Nancy Street Morrisville NC"}
 

Сейчас я использую анализатор «пробелов», но при поиске 4929-3813-3266-4295 он показывает нулевой ответ.

Я должен быть в состоянии искать все, что идеально подходит.

Мой Вопрос

 curl -X GET "http://username:password@localhost:9200/full_text/_search?pretty" -H 'Content-Type: application/json' -d'
 {
  "_source": {
    "includes": [
      "filename",
      "filepath",
      "upload_time",
      "file_size",
      "file_access_date",
      "file_create_date",
      "file_modified_date",
      "highlight"
    ]
  },
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "text": "4929-3813-3266-4295"
          }
        }
      ],
      "filter": [
        {
          "exists": {
            "field": "text"
          }
        }
      ],
      "should": [
        
      ]
    }
  },
  "highlight": {
    "pre_tags": "<b>",
    "post_tags": "</b>",
    "fragment_size": 1,
    "fields": {
      "text": {
        "fragment_size": 100,
        "number_of_fragments": 1,
        "fragmenter": "span"
      }
    }
  }
}'
 

Ответ

 {
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 0,
      "relation" : "eq"
    },
    "max_score" : null,
    "hits" : [ ]
  }
}
 

Комментарии:

1. можете ли вы добавить сопоставление индексов?

2. Если вы используете один и тот же анализатор во время поиска и индексирования, и это пробелы, результаты не должны быть нулевыми. Пожалуйста, добавьте сопоставление

3. @LdiCO Я еще не добавил отображение.