Шаблон не найден на правильном поле
Так,
Я использовал старый тип multi_field при создании шаблона, как показано ниже.
"field_a":
{
"type": "multi_field",
"fields":
{
"searchable": {
"index": "analyzed",
"type": "string"
},
"field_a": {
"index": "not_analyzed",
"type": "string"
}
}
}
Это прекрасно работает, когда я запрашиваю, я могу просто выполнить агрегацию терминов на "field_a" вместо того, чтобы не забыть поставить "field_a.raw" или что-то подобное
Тем не менее, когда я изменяю это на новый синтаксис только с использованием элемента fields, это больше не работает. Когда я выполняю агрегацию терминов с использованием приведенного ниже шаблона, термины разделяются и не приносят первоначальное значение. Поэтому, если бы поле имело значение "тестирование поля", я бы ожидал, что оно вернет "тестирование поля" как один термин, а не "тестирование", "a", "поле" как отдельные термины. Обратите внимание, что это то, что возвращается с использованием оригинального шаблона.
"field_a":
{
"type": "string",
"fields":
{
"searchable": {
"index": "analyzed",
"type": "string"
},
"field_a": {
"index": "not_analyzed",
"type": "string"
}
}
}
Я попытался переместить "index": "not_analyzed" в начальное отображение поля, просто в "type", однако это выдает мне ошибку, "недопустимое поле [index], только поля могут быть указаны внутри полей", при попытке индексации документы.
Итак, мой вопрос, есть ли способ, которым я могу сделать начальное поле not_analyzed, а затем иметь дополнительное поле для поиска? Или я должен изменить все, чтобы включить два отдельных поля, одно с необработанным, а другое с возможностью поиска, кажется немного странным, как это работало до вас.
я использую
NEST: 1.7.2 ES: 1.5.2