Używam Spring Data ElasticSearch do wykonywania operacji CRUD. Domyślnie, gdy POJO opatrzone adnotacją @Document jest zapisywane w indeksie ElasticSearch, nazwy pól indeksu są takie same jak nazwy właściwości Java obiektu POJO. Jak skonfigurować nazwy pól indeksowych, aby były różne? Na przykład, w tym POJO dokumentu:Jak zdefiniować nazwy pól indeksowych ElasticSearch dla POJO przy użyciu danych sprężystych ElasticSearch
@Document(indexName = "areas", type = "area")
public class Area {
@Id
private String id;
private String countyName;
private String postOfficeName;
private String stateName;
jak mogę skonfigurować to tak, że pole indeksu w ElasticSearch dostaje szeregowane jako county_name zamiast countyName?
Znalazłem pewnego rodzaju obejście, dodając Jackson's @JsonProperty ("nazwa_hrabstwa") w dokumencie @ NOTGATE, ale ma to tę wadę, że traci moc danych DSL findBy firmy Spring Data, ponieważ polegają one na camelCased nazwy właściwości Java. –
Więcej szczegółów na temat używania '@ JspnProperty' omówiono w http://stackoverflow.com/questions/33537229/spring-elastic-search-custom-field-names – Javaru