Использование Java-клиента Elasticsearch в Spring Batch

Я пытаюсь написать собственный писатель упругого поиска, который индексировал бы данные в реализации весеннего пакета.

Я мог бы найти приведенный ниже код в качестве конфигурации Java для эластичного поиска.

Кто-нибудь, кто использовал это, можете, пожалуйста, поделиться, где вызвать эту конфигурацию?

@Configuration
   @EnableElasticsearchRepositories(basePackages = "org/springframework/data/elasticsearch/repositories")
        static class Config {

        @Value("${esearch.port}") int port;
        @Value("${esearch.host}") String hostname;

        @Bean
        public ElasticsearchOperations elasticsearchTemplate() {
        return new ElasticsearchTemplate(client());
         }

        @Bean
        public Client client(){
            TransportClient client= new TransportClient();
            TransportAddress address = new InetSocketTransportAddress(hostname, port); 
            client.addTransportAddress(address);
            return client;
        }
   }

1 ответ

Код, который вы перечислили выше, является в основном вашими деталями реализации элемента Transport Client, указывающего на экземпляр Elasticsearch Server, т.е. он определяет ваш постоянный уровень с помощью Spring Data.

Этот код будет использоваться вашими репозиториями эластичного поиска, то есть репозиториями, которые вы определяете расширением: ElasticsearchRepository из Spring Data.

Вам нужно отредактировать @EnableElasticsearchRepositories в указанном вами коде фактически указывать на пакет, в котором вы храните свои определения репозитория - никаких других вызовов не потребуется.

Когда вы собираетесь записывать / индексировать данные в asticsearch, вы работаете с ElasticsearchRepository интерфейс, и вам нужно определить свои собственные репозитории, и эти репозитории работают с экземплярами в соответствии с перечислением в вашем коде.

Надеюсь, поможет!!

Другие вопросы по тегам