Elastisk sökning

Hur man skapar elastiska sökindex

Hur man skapar elastiska sökindex
Elasticsearch är en del av den populära ELK-stacken som används för logganalys och sökning. Applikationer och system loggar ständigt data som kan vara mycket användbara för felsökning och spårning av problem. Med hjälp av ELK-stacken har du de bästa verktygen för att utföra dessa uppgifter snabbt och mycket enkelt.

I denna snabba handledning kommer vi att titta på Elasticsearch, specifikt hur man skapar index i Elasticsearch-motorn. Även om du inte behöver någon omfattande kunskap om ELK-stacken för att följa denna handledning kan det vara fördelaktigt att ha en grundläggande förståelse för följande ämnen:

NOTERA: Denna handledning förutsätter också att du har Elasticsearch installerat och körs på ditt system.

Vad är elastiska sökindex?

Utan att förenkla eller överkomplicera saker är ett Elasticsearch-index en samling relaterade JSON-dokument.

Som nämnts i ett tidigare inlägg är Elasticsearch-index JSON-objekt, betraktade som basenheten för lagring i Elasticsearch. Dessa relaterade JSON-dokument lagras i en enda enhet som utgör ett index. Tänk på Elasticsearch-dokument som tabeller i en relationsdatabas.

Låt oss relatera ett Elasticsearch-index som en databas i SQL-världen.

Hur man skapar ett Elasticsearch-index

Elasticsearch använder ett kraftfullt och intuitivt REST API för att exponera sina tjänster. Med den här funktionen kan du använda HTTP-förfrågningar för att utföra åtgärder på Elasticsearch-klustret. Därför använder vi API för att skapa index för att skapa ett nytt index.

För den här guiden kommer vi att använda cURL för att skicka förfrågningarna och bevara integritet och användbarhet för alla användare. Om du stöter på fel med cURL kan du dock överväga att använda Kibana Console.

Syntaxen för att skapa ett nytt index i Elasticsearch-klustret är:

PUT /

För att skapa ett index är allt du behöver göra att skicka indexnamnet utan andra parametrar, vilket skapar ett index med standardinställningar.

Du kan också ange olika funktioner i indexet, till exempel i indexet:

  • Inställningarna för indexet
  • Indexalias
  • Kartläggningar för indexfält

Indexnamnet är en obligatorisk parameter; annars får du ett fel för URIL (/)

curl -X PUT “localhost: 9200”
"error": "Fel HTTP-metod för uri [/] och metod [PUT], tillåten: [DELETE, HEAD, GET]", "status": 405

För att skapa ett nytt index med namnet single_index skickar vi begäran:

PUT / single_index

För cURL, använd kommandot:

curl -X PUT "localhost: 9200 / single_index?Söt"

Detta kommando bör resultera i HTTP-status 200 OK och ett meddelande med bekräftat: sant som:


”Erkänt”: sant,
"shards_acknowledged": sant,
"index": "single_index"

Förfrågan ovan skapar ett index single_index med standardinställningar eftersom vi inte angav några konfigurationer.

Regler för indexnamn

När du skapar namn för Elasticsearch-index måste du följa följande namnstandarder:

  1. Indexnamnet får endast vara med gemener.
  2. Indexnamnen kan inte börja med en streck (-), en understrykning (_) eller ett tilläggstecken (+)
  3. Namnen kan inte vara . eller…
  4. Indexnamn kan inte innehålla specialtecken som: \, /, *, ?, “, <, >, |, "(mellanslag), ,, #
  5. Längden på indexnamnen måste vara mindre än 255 byte. Multi-byte-tecken räknas i den totala längden på indexnamnet. Till exempel, om ett enstaka tecken är 8 byte långt, är den totala återstående längden på namnet 255 - 8
  6. I den senaste versionen av Elasticsearch, namn som börjar med a . är reserverade för dolda index och interna index som används av Elasticsearch-plugins.

Hur man skapar en indexkropp

När du använder PUT-begäran för att skapa ett index kan du skicka olika argument som definierar inställningarna för det index du vill ha skapat. Värden som du kan ange i kroppen inkluderar:

  • Alias: Anger aliasnamn för det index du vill skapa; den här parametern är valfri.
  • Inställningar: Detta definierar konfigurationsalternativen för det index du vill skapa. Om du inte anger några parametrar skapas indexet med standardkonfigurationer.
  • Kartläggningar: Detta definierar kartläggningen för fält i indexet. Specifikationerna du kan inkludera i mappningar inkluderar:
    • Fältets namn
    • Datatypen
    • Kartläggningsparametern

För ett exempel på att skapa ett index med kroppskonfigurationer, överväg begäran nedan:

PUT / single_index_with_body

"inställningar":
"number_of_shards": 2,
"number_of_replicas": 2
,
“Mappings”:
"egenskaper":
"field1": "type": "object"


För en motsvarande begäran för CURL:

curl -XPUT "http: // localhost: 9200 / single_index_with_body" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 2, "number_of_replicas": 2, "mappings" : "egenskaper": "field1": "type": "objekt" '

Ovanstående begäran skapar ett nytt index med namnet single_index_with_body med 2 antal skärvor och 2 repliker. Det skapar också en mappning med ett fält med namnfält1 och skriver som ett JSON-objekt.

När du har skickat begäran får du ett svar med status för begäran som:


”Erkänt”: sant,
"shards_acknowledged": sant,
"index": "single_index_with_body"

"Bekräftad" visar om indexet skapades framgångsrikt i klustret, medan "shards_acknowledged" visar om det erforderliga antalet skärvkopior startades för varje skärv i det angivna indexet innan timeout.

Hur man ser Elasticsearch Index

För att se informationen om det index du skapade, använd en liknande begäran som för att skapa ett index, men använd HTTP-metoden istället för PUT som:

GET / single_index_with_body

För CURL,

curl -XGET “http: // localhost: 9200 / single_index_with_body”

Detta kommando ger dig detaljerad information om det begärda indexet som:


"single_index_with_body":
"alias": ,
"mappningar":
"egenskaper" :
"field1":
"typ": "objekt"


,
"inställningar" :
"index":
"routing":
"allokering":
"inkludera":
"_tier_preference": "data_innehåll"


,
"number_of_shards": "2",
"provided_name": "single_index_with_body",
"creation_date": "1611045687208",
"number_of_replicas": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"version":
"skapade": "7100299"




Slutsats

Den här guiden diskuterade hur man arbetar med Elasticsearch för att skapa index-API för att skapa nya index. Vi diskuterade också hur man skapar lämpliga namn för index och konfigurationsinställningar.

Genom att använda den här guiden kan du nu skapa och visa index med hjälp av Elasticsearch API.

Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...