Κοινή χρήση τεχνολογίας

Επίδειξη παραδείγματος elasticsearch 8.14.1 και Spring Data elasticsearch

2024-07-08

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

Δημιουργία έργου και διαμόρφωσης

Εφαρμόστε τρεις τύπους API.

  1. Αναζήτηση με βάση το όνομα
  2. Αναζήτηση ανά κατηγορία
  3. Σύμφωνα με το εύρος τιμών

Δημιουργήστε ένα έργο ελατηρίου εκκίνησης και προσθέστε εξαρτήσεις elasticsearch

Διαμόρφωση του 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();
    }
}

Περισσότερες διευθύνσεις αναφοράς διαμόρφωσης

Αντιστοίχιση Αντικειμένου Αντιστοίχιση αντικειμένων

Το Spring Data Elasticsearch μπορεί να αντιστοιχίσει αντικείμενα σε JSON, να τα αποθηκεύσει στο ES ή να τα μετατρέψει σε αντικείμενα.

@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;
}
  • @Εγγραφο: Αποθηκεύστε το αντικείμενο κλάσης σε ένα ευρετήριο με το όνομα itemindex
  • @Ταυτότητα: Βεβαιωθείτε ότι το έγγραφο είναι μοναδικό στο ευρετήριο.
  • @Πεδίο: Ορισμός ή αντιστοίχιση πεδίων στο έγγρ

Περισσότερα σχετικά με την αναφορά αντιστοίχισης αντικειμένων: Elasticsearch Αντιστοίχιση αντικειμένων

Elasticsearch Αποθετήρια

Ενσωματώστε την κλάση ElasticsearchRepository και κληρονομήστεsave(), saveAll(),findAll() και άλλες μεθόδους. Το ElasticsearchRepository δημιουργεί ερωτήματα με βάση τα ονόματα μεθόδων.

public interface ItemRepository 
        extends ElasticsearchRepository