У меня есть поле в поле ElasticSearch, которое я не хочу анализировать, т.е. е. он должен храниться и сопоставляться дословно. Значения будут содержать буквы, цифры, пробелы, тире, косые черты и, возможно, другие символы.
Если я не даю анализатор в моем сопоставлении для этого поля, по умолчанию по-прежнему используется токенизатор, который перехватывает мою дословную строку в куски слов. Я не хочу этого.
Есть ли супер простой анализатор, который, в основном, не анализирует? Или есть другой способ обозначить, что это поле не анализируется?
Я только создаю индекс, я ничего не делаю. Я могу использовать анализаторы типа "английский" для других полей, которые, кажется, являются встроенными именами для предварительно сконфигурированных анализаторов. Есть ли список других имен? Может быть, мне подходят мои потребности (а именно ничего не делать с вводом).
Это мое отображение в настоящее время:
{
"my_type": {
"properties": {
"my_field1": { "type": "string", "analyzer": "english" },
"my_field2": { "type": "string" }
}
}
}
my_field1
зависит от языка; это похоже на работу. my_field2
должен быть дословным. Я бы хотел дать там анализатор, который просто ничего не делает.
Примерное значение для my_field2
будет "B45c 14/04"
.