Spring Data ElasticSearch - индексировать одно поле несколько раз - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу индексировать одно поле (имя) несколько раз с помощью разных анализаторов (ngram и standard), чтобы я мог выполнять поиск, используя отдельные слова или полные слова. Но я не смог найти поддержку Spring Data ElasticSearch для этого. Поскольку аннотацию @Field нельзя повторять, как я могу добиться этого с помощью Spring Data?

1 Ответ

0 голосов
/ 16 сентября 2018
import org.springframework.data.elasticsearch.annotations.InnerField;
   import org.springframework.data.elasticsearch.annotations.MultiField;

        @MultiField(
                  mainField = @Field(type = FieldType.String),
                  otherFields = {
                      @InnerField(index = FieldIndex.not_analyzed, suffix = "<suffix name>", type =FieldType.String)
                  }
                )
        private String <fieldname>;

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

. Для получения дополнительной информации, пожалуйста, перейдите по следующей ссылке:

https://www.baeldung.com/spring-data-elasticsearch-queries

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