Как указать ключ маршрутизации в данных эластичного поиска при индексации. - PullRequest
0 голосов
/ 05 июня 2018

Как указать ключ маршрутизации для данных упругих данных Spring во время индексирования.

Я создал приложение для загрузки пружины, которое использует упругий поиск данных пружин для индексации документов.

Ниже представлена ​​структура моего документа (без установщиков геттеров).

@Document(indexName = Constants.ES_INDEX_NAME, type = Constants.ES_TYPE,createIndex = false)
public class EsDocument {

    @Id
    private String ID;

    private String group;

    private String request;

    private String response;

    private Filters filters;

    public EsDocument() {
    }
}

public class Filters {

    private String order_id;
    private String api_type;
    private int status;
    private String statusCode;
    private String createdAt;
}

Это код для индексации документа.Я использую ElasticSearchTemplate для индексации моих данных.

public void saveAll(List<EsDocument> esDocuments) {
        List<IndexQuery> queries = new ArrayList<>();
        for(EsDocument esDocument : esDocuments) {
            IndexQuery indexQuery = new IndexQuery();
            indexQuery.setObject(esDocument);
            indexQuery.setIndexName(esDocument.getGroup());
            queries.add(indexQuery);
        }
        if (queries.size() > 0) {
            elasticsearchTemplate.bulkIndex(queries);
        }
        logger.info("Batch Documents Saved to elastic search");
    }

Теперь, как добавить пользовательский ключ маршрутизации во время индексации ?.Я хочу добавить filters.order_id в качестве моего ключа маршрутизации во время индексации.

1 Ответ

0 голосов
/ 05 июня 2018

В AFAIK ElasticsearchTemplate отсутствует поддержка маршрутизации в определенных областях, и вам необходимо обратиться к клиенту, чтобы предоставить необходимую информацию о маршрутизации.

Попробуйте что-то вроде

Client client = elasticsearchTemplate.getClient();
IndexRequestBuilder builder = client.prepareIndex(...);
builder.setRouting(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...