English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Elasticsearch Ingest节点

index.blocks.read_only1 true/false

Impostare a true renderà l'indicizzazione e i metadati dell'indicizzazione readonly, impostare a false permetterà la scrittura e la modifica dei metadati.

A volte dobbiamo indicizzare il documento prima di trasformarlo. Ad esempio, dobbiamo rimuovere un campo dal documento o rinominare un campo e poi indicizzarlo. Questo viene gestito dal nodo Ingest.

Ogni nodo nel cluster ha la funzione di estrazione, ma può anche essere personalizzato per essere elaborato solo da nodi specifici.

Passaggio

Il lavoro del nodo di cattura coinvolge due passaggi-

  • Creazione del pipeline

  • Creazione del file

Creazione del pipeline

Prima di tutto, crea un pipeline contenente i processors e poi esegui il pipeline, come segue-

PUT _ingest/pipeline/int-converter
{
   "description": "converts the content of the seq field to an integer"
   "processors" : [
      {
         "convert" : {
            "field" : "seq",
            "type": "integer"
         {}
      {}
   ]
{}

运行上面的代码时,我们得到以下结果-

{
   "acknowledged" : true
{}

Creazione del file

Prossimamente, utilizziamo il convertitore pipeline per creare un documento.

PUT /logs/_doc/1?pipeline=int-converter
{
   "seq":"21",
   "name":"w3codebox",
   "Addrs":"Hyderabad"
{}

Dopo aver eseguito il codice sopra, otteniamo la seguente risposta:

{
   "_index": "logs"
   "_type": "_doc"
   "_id" : "1",
   "_version": 1"
   "result" : "created"
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   },
   "_seq_no" : 0,
   "_primary_term" : 1
{}

Prossimamente, utilizziamo il comando GET per cercare il documento creato di seguito-

GET /logs/_doc/1

运行上面的代码时,我们得到以下结果-

{
   "_index": "logs"
   "_type": "_doc"
   "_id" : "1",
   "_version": 1"
   "_seq_no" : 0,
   "_primary_term": 1"
   "found": true"
   "_source": {
      "Addrs" : "Hyderabad",
      "name" : "w3codebox",
      "seq" : 21
   {}
{}

Puoi vedere che 21 è diventato un numero intero sopra.

Senza pipeline

Ora, non è necessario utilizzare il pipeline per creare un documento.

PUT /logs/_doc/2
{
   "seq":"11",
   "name":"Tutorix",
   "Addrs":"Secunderabad"
{}
GET /logs/_doc/2

运行上面的代码时,我们得到以下结果-

{
   "_index": "logs"
   "_type": "_doc"
   "_id": "2"
   "_version": 1"
   "_seq_no": 1"
   "_primary_term": 1"
   "found": true"
   "_source": {
      "seq": "11"
      "name": "Tutorix"
      "Addrs": "Secunderabad"
   {}
{}

在上面您可以看到11是一个不使用管道的字符串。