Bagaimana cara menentukan satu penganalisis khusus yang akan digunakan di lebih dari satu indeks (dalam tingkat klaster)? Semua contoh yang dapat saya temukan menunjukkan cara membuat penganalisis khusus pada indeks tertentu.

Penganalisa saya misalnya:

PUT try_index
{
  "settings": {
    "analysis": {
      "filter": {
        "od_synonyms": {
          "type": "synonym", 
          "synonyms": [
            "dog, cat => animal",
            "john, lucas => boy",
            "emma, kate => girl"
          ]
        }
      },
      "analyzer": {
        "od_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "od_synonyms"
          ]
        }
      }
    }
  },
  "mappings": {
    "record": {
      "properties": {
        "name": {
            "type": "string",
            "analyzer":"standard",
            "search_analyzer": "od_analyzer"
        }
      }
    }
  }
}

Adakah yang tahu bagaimana mengubah ruang lingkup penganalisis saya ke tingkat klaster?

Terima kasih

2
Shai M. 24 Mei 2016, 14:55

1 menjawab

Jawaban Terbaik

Tidak ada "ruang lingkup" untuk penganalisis. Namun Anda dapat melakukan hal serupa dengan template indeks :

PUT /_template/some_name_here
{
  "template": "a*",
  "order": 0,
  "settings": {
    "analysis": {
      "filter": {
        "od_synonyms": {
          "type": "synonym", 
          "synonyms": [
            "dog, cat => animal",
            "john, lucas => boy",
            "emma, kate => girl"
          ]
        }
      },
      "analyzer": {
        "od_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "od_synonyms"
          ]
        }
      }
    }
  }
}

Dan di "template" Anda harus memasukkan nama indeks tempat template ini harus diterapkan ketika indeks dibuat. Anda dapat menentukan "*" dengan sangat baik dan mencocokkan semua indeks. Saya pikir itu yang terbaik yang dapat Anda lakukan untuk apa yang Anda inginkan.

1
Andrei Stefan 24 Mei 2016, 15:27