Pochopení Index a Mapping v Elasticsearch

Tak určitě! Zde je překlad vysvětlení a příkladů pro Index a Mapping v Elasticsearch:

Index v Elasticsearch

An Index in Elasticsearch je obdobou databáze v tradičních systémech správy databází(DBMS). Uchovává sbírku souvisejících dokumentů. Každá Index obvykle odpovídá specifickému typu dat ve vaší aplikaci. Například v aplikaci elektronického obchodu můžete vytvořit aplikaci Index pro ukládání informací o produktech a jinou Index pro ukládání informací o uživatelích a objednávkách.

Každý Index vstup Elasticsearch je rozdělen na menší fragmenty pro distribuci dat. Shard je malá část Index a každý Shard může být uložen na samostatném uzlu v rámci Elasticsearch clusteru. Rozdělení dat na fragmenty optimalizuje výkon vyhledávání a dotazů a zlepšuje škálovatelnost systému.

Chcete-li například vytvořit nový Index s názvem products  v Elasticsearch, můžete pomocí rozhraní API nebo nástrojů pro správu, jako je Kibana, spustit následující příkaz:

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

Ve výše uvedeném příkladu jsme vytvořili Index products 3 shard a 2 replica od každého shard, abychom zajistili dostupnost a zálohování dat.

 

Mapping v Elasticsearch

Mapping je proces definování způsobu Elasticsearch ukládání a zpracování dat v rámci Index. Když přidáte nový dokument do Index, Elasticsearch používá Mapping k určení datového typu každého pole v dokumentu. To pomáhá Elasticsearch pochopit, jak zpracovávat a vyhledávat data v různých oblastech.

Například, pokud máme Index products a chceme definovat Mapping pole name(název produktu) a price  (cena produktu) jako textové a plovoucí typy, můžeme provést následující příkaz:

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

Ve výše uvedeném příkladu jsme definovali Mapping pro products  Index, přičemž name  pole má datový typ text a pole price datový typ float. To zajišťuje, že když Elasticsearch obdrží nové dokumenty pro products  Index, uloží a zpracuje name  pole a "cena" podle definovaných datových typů.

Index a Mapping hrají klíčovou roli při organizování a správě dat v Elasticsearch. Pomáhají Elasticsearch efektivně porozumět a zpracovávat data, optimalizovat operace vyhledávání a dotazů a poskytují systému flexibilní možnosti škálovatelnosti.