Я новичок в Elasticsearch.У нас есть определенные данные в разных типах данных, которые мы хотим проиндексировать и получить.Мы используем пользовательские поля "_all", как описано в приведенной ниже ссылке
Пользовательские поля "_all"
Ниже приведен наш код
Для создания индекса
PUT myindex
{
"mappings": {
"mytype": {
"properties": {
"first_name": {
"type": "text",
"copy_to": "contact_details"
},
"mobile_number": {
"type": "long",
"copy_to": "contact_details"
},
"contact_details": {
"type": "text"
}
}
}
}
}
Для добавления в индекс
PUT myindex/mytype/1
{
"first_name": "John",
"mobile_number": 9988776655
}
Для поиска
GET myindex/_search
{
"query": {
"multi_match": {
"query": "9988776655",
"fields": [
"contact_details"
],
"fuzziness": "auto"
}
},
"highlight": {
"require_field_match": false,
"pre_tags": [
"<tag1>"
],
"post_tags": [
"</tag1>"
],
"fields": {
"first_name": {},
"mobile_number": {}
}
}
}
Используя приведенный выше запрос, мы можем получить результаты, но не можем выделитьисходное значение поля, как описано в следующей ссылке
Подсветка исходных полей
Необходимо знать, если мы что-то делаем неправильно или есть ошибка
Обратите внимание, что мы должны использовать пользовательское поле "_all", так как это важно для наших требований.Кроме того, тип данных полей не может быть изменен.
Большое спасибо