Kuptimi Index dhe Mapping në Elasticsearch

Sigurisht! Këtu është përkthimi i shpjegimit dhe shembujve për Index dhe Mapping në Elasticsearch:

Index në Elasticsearch

Një Index in Elasticsearch është e ngjashme me një bazë të dhënash në sistemet tradicionale të menaxhimit të bazës së të dhënave(DBMS). Ajo ruan një koleksion të dokumenteve të lidhura. Secila Index zakonisht korrespondon me një lloj specifik të të dhënave në aplikacionin tuaj. Për shembull, në një aplikacion e-commerce, mund të krijoni një Index për të ruajtur informacione rreth produkteve, një tjetër Index për të ruajtur informacione rreth përdoruesve dhe porosive.

Secila Index in Elasticsearch është e ndarë në copëza më të vogla për shpërndarjen e të dhënave. Një Shard është një pjesë e vogël e një Index, dhe çdo Shard mund të ruhet në një nyje të veçantë brenda një Elasticsearch grupi. Ndarja e të dhënave në copëza optimizon performancën e kërkimit dhe pyetjes dhe rrit shkallëzueshmërinë e sistemit.

Për shembull, për të krijuar një të re Index të quajtur products  në Elasticsearch, mund të përdorni API ose mjetet e menaxhimit si Kibana për të ekzekutuar komandën e mëposhtme:

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

Në shembullin e mësipërm, ne kemi krijuar një Index products me 3 shard dhe 2 replica të secilit shard për të siguruar disponueshmërinë dhe rezervimin e të dhënave.

 

Mapping në Elasticsearch

Mapping është procesi i përcaktimit se si Elasticsearch ruan dhe përpunon të dhënat brenda një Index. Kur shtoni një dokument të ri në një Index, Elasticsearch përdor Mapping për të përcaktuar llojin e të dhënave të secilës fushë në dokument. Kjo ndihmon Elasticsearch për të kuptuar se si të përpunoni dhe kërkoni të dhëna në fusha të ndryshme.

Për shembull, nëse kemi një Index products dhe dëshirojmë të përcaktojmë Mapping për fushat name(emri i produktit) dhe price  (çmimi i produktit) përkatësisht si tipe teksti dhe float, mund të ekzekutojmë komandën e mëposhtme:

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

Në shembullin e mësipërm, ne kemi përcaktuar Mapping për products  Indeksin, ku name  fusha ka llojin e të dhënave text dhe fushën e çmimit ka llojin e të dhënave float. Kjo siguron që kur Elasticsearch merr dokumente të reja për products  Indeksin, ai do të ruajë dhe përpunojë name  fushat dhe "çmimi" sipas llojeve të përcaktuara të të dhënave.

Index dhe Mapping luajnë role vendimtare në organizimin dhe menaxhimin e të dhënave në Elasticsearch. Ato ndihmojnë Elasticsearch për të kuptuar dhe përpunuar në mënyrë efikase të dhënat, optimizojnë operacionet e kërkimit dhe pyetjes dhe ofrojnë aftësi fleksibël të shkallëzimit për sistemin.