Compartir tecnología

demostración de instancia de elasticsearch de elasticsearch 8.14.1 y Spring Data

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Crear proyecto y configuración.

Implemente tres tipos de API.

  1. Buscar por nombre
  2. Buscar por categoría
  3. Según rango de precios

Cree un proyecto de arranque de primavera y agregue dependencias de elasticsearch

Configurar la búsqueda elástica

@Configuration
@EnableElasticsearchRepositories(basePackages = "github.io.truongbn.elasticsearch.repository")
public class ClientConfig extends ElasticsearchConfiguration {
   
    @Override
    public ClientConfiguration clientConfiguration() {
   
        return ClientConfiguration.builder()
                .connectedTo("192.168.163.13:9200")
                .withBasicAuth("elastic","123456")
                .build();
    }
}

Más direcciones de referencia de configuración

Mapeo de objetos Mapeo de objetos

Spring Data Elasticsearch puede asignar objetos a JSON, almacenarlos en ES o convertirlos en objetos.

@Data
@Document(indexName = "itemindex")
public class Item {
   
    @Id
    private int id;
    @Field(type = FieldType.Text, name = "name")
    private String name;
    @Field(type = FieldType.Double, name = "price")
    private Double price;
    @Field(type = FieldType.Keyword, name = "brand")
    private String brand;
    @Field(type = FieldType.Keyword, name = "category")
    private String category;
}
  • @Documento: almacena el objeto de clase en un índice llamado itemindex
  • @Identificación: Asegúrese de que el documento sea único en el índice.
  • @Campo: Definir o asignar campos en el documento

Más sobre la referencia de mapeo de objetos: Mapeo de objetos de Elasticsearch

Búsqueda elástica Repositorios

Integrar la clase ElasticsearchRepository y heredarsave(), saveAll(),findAll() y otros métodos. ElasticsearchRepository genera consultas basadas en nombres de métodos.

public interface ItemRepository 
        extends ElasticsearchRepository