Teknologian jakaminen

elasticsearch 8.14.1 ja Spring Data elasticsearch -instanssiesittely

2024-07-08

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

Luo projekti ja konfiguraatio

Ota käyttöön kolmen tyyppisiä sovellusliittymiä.

  1. Hae nimellä
  2. Hae luokan mukaan
  3. Hintaluokan mukaan

Luo jousikäynnistysprojekti ja lisää elasticsearch-riippuvuudet

Määritä Elasticsearch

@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();
    }
}

Lisää määritysviiteosoitteita

Objektikartoitus Objektikartoitus

Spring Data Elasticsearch voi kartoittaa objekteja JSONiin, tallentaa ne ES:hen tai muuntaa ne objekteiksi.

@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;
}
  • @Asiakirja: Tallenna luokkaobjekti hakemistoon nimeltä itemindex
  • @Id: Varmista, että asiakirja on yksilöllinen hakemistossa.
  • @Ala: Määritä tai yhdistä kentät doc

Lisätietoja objektikartoitusviittauksesta: Elasticsearch Object Mapping

Elasticsearch Tietovarastot

Integroi ElasticsearchRepository-luokka ja perisave(), saveAll(),findAll() ja muita menetelmiä. ElasticsearchRepository luo kyselyitä menetelmän nimien perusteella.

public interface ItemRepository 
        extends ElasticsearchRepository