Berbagi teknologi

elasticsearch 8.14.1 dan demonstrasi instance elasticsearch Spring Data

2024-07-08

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

Buat proyek dan konfigurasi

Menerapkan tiga jenis API.

  1. Cari berdasarkan nama
  2. Cari berdasarkan kategori
  3. Sesuai dengan kisaran harga

Buat proyek booting pegas dan tambahkan dependensi elasticsearch

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

Alamat referensi konfigurasi lainnya

Pemetaan Objek Pemetaan Objek

Spring Data Elasticsearch dapat memetakan objek ke JSON, menyimpannya di ES, atau mengubahnya menjadi objek.

@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;
}
  • @Dokumen: Simpan objek kelas dalam indeks bernama itemindex
  • @Pengenal: Pastikan dokumen tersebut unik dalam indeks.
  • @Bidang: Menentukan atau memetakan bidang di dokumen

Lebih lanjut tentang referensi pemetaan objek: Pemetaan Objek Elasticsearch

Pencarian Elastis Repositori

Integrasikan kelas ElasticsearchRepository dan warisisave(), saveAll(),findAll() dan metode lainnya. ElasticsearchRepository menghasilkan kueri berdasarkan nama metode.

public interface ItemRepository 
        extends ElasticsearchRepository