Supratimas Index ir Mapping viduje Elasticsearch

Žinoma! Štai paaiškinimo vertimas ir pavyzdžiai, skirti Index ir Mapping į Elasticsearch:

Index in Elasticsearch

In yra panašus į duomenų bazę tradicinėse duomenų bazių valdymo sistemose(DBVS) Index. Elasticsearch Jame saugomas susijusių dokumentų rinkinys. Kiekvienas iš jų Index paprastai atitinka tam tikro tipo duomenis jūsų programoje. Pavyzdžiui, el. prekybos programoje galite sukurti, Index kad saugotumėte informaciją apie produktus, kitą – Index informacijai apie vartotojus ir užsakymus.

Kiekviena Index dalis Elasticsearch yra padalinta į mažesnes skeveldras duomenims platinti. Skiltis yra maža dalis Index, ir kiekviena skeveldra gali būti saugoma atskirame Elasticsearch grupės mazge. Duomenų padalijimas į šukes optimizuoja paieškos ir užklausų našumą ir padidina sistemos mastelį.

Pavyzdžiui, norėdami sukurti naują Index pavadinimą, galite naudoti API arba valdymo įrankius, pvz., Kibana, kad vykdytumėte šią komandą products  : Elasticsearch

PUT /products  
{  
  "settings": {  
    "number_of_shards": 3,  
    "number_of_replicas": 2  
  }  
}  

Aukščiau pateiktame pavyzdyje sukūrėme 3 Index products ir shard 2, kad užtikrintume pasiekiamumą ir duomenų atsarginę kopiją. replica shard

 

Mapping in Elasticsearch

Mapping yra procesas, apibrėžiantis, kaip Elasticsearch saugomi ir apdorojami duomenys Index. Kai pridedate naują dokumentą prie Index, Elasticsearch naudoja Mapping kiekvieno dokumento lauko duomenų tipui nustatyti. Tai padeda Elasticsearch suprasti, kaip apdoroti ir ieškoti duomenų įvairiose srityse.

Pavyzdžiui, jei turime Index products ir norime apibrėžti Mapping laukus name(produkto pavadinimas) ir price  (produkto kaina) atitinkamai kaip teksto ir plūduriuojančius tipus, galime vykdyti šią komandą:

PUT /products/_mapping  
{  
  "properties": {  
    "name": {  
      "type": "text"  
    },  
    "price": {  
      "type": "float"  
    }  
  }  
}  

Aukščiau pateiktame pavyzdyje apibrėžėme Mapping indeksą products  , kurio name  laukas turi duomenų tipą text, o kainos laukas – duomenų tipą float. Tai užtikrina, kad Elasticsearch gavus naujus indekso dokumentus products  , jis saugos ir apdoros laukus name  ir „kaina“ pagal nustatytus duomenų tipus.

Index ir Mapping atlieka lemiamą vaidmenį tvarkant ir tvarkant duomenis Elasticsearch. Jie padeda Elasticsearch efektyviai suprasti ir apdoroti duomenis, optimizuoti paieškos ir užklausų operacijas ir suteikia lanksčias sistemos mastelio keitimo galimybes.