Spring-data-эластичный поиск сущности, удаляющий устаревший тип - PullRequest
0 голосов
/ 05 марта 2020

Elasticsearch удалит _type в версии 8. Я разрабатываю загрузочный микросервис Spring, используя ElasticRepository, поэтому я хотел бы настроить Entity, чтобы не использовать его. Насколько я знаю, если вы неявным образом не указываете тип в @Document, он будет принимать имя класса в нижнем регистре. ¿Как указать, что вместо этого следует использовать тип type = "_do c"?

Elasti c Поиск: 7.5.1 Пружинная загрузка: 2.2.1

package org.elastic.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@SuppressWarnings("unused")

@Document(indexName = "basic_data",type = "_doc")
public class BasicData {

    @Id
    private String id;
    private String field1;
    private String field2;
}

1 Ответ

0 голосов
/ 05 марта 2020

Spring Boot 2.2.1 и соответствующий Spring Data Elasticsearch 3.2.x используют библиотеки Elasticsearch 6.8.5. Вы не сможете использовать эти версии с кластером Elasticsearch 7, клиентские библиотеки 6.8 не совместимы с сервером в версии 7.

В следующей версии Spring Data Elasticsearch, которая должна быть выпущена, эта весной целевой версией Elasticsearch является 7.5 (я обновлю ее до 7.6 в ближайшие дни). Там мы устарели в коде, куда пользователь помещает информацию о типе (например, в аннотации @Document), и мы больше не используем ее в базовых вызовах Elasticsearch. Так что пока вы можете оставить это в аннотации для следующей версии.

Как только Elasticsearch 8 будет выпущен, наша следующая версия Spring Data Elasticsearch будет использовать это, а затем мы, вероятно, удалим это из нашего а также код для очистки.

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