2

如何定义一个将用于多个索引(在集群级别)的自定义分析器?我能找到的所有示例都显示了如何在特定索引上创建自定义分析器。

我的分析仪例如:

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"
        }
      }
    }
  }
}

知道如何将我的分析器范围更改为集群级别吗?

谢谢

4

1 回答 1

1

分析仪没有“范围”。但是你可以用索引模板做类似的事情:

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"
          ]
        }
      }
    }
  }
}

并且您应该在创建索引时输入"template"该模板应该应用到的索引的名称。您可以很好地指定和匹配所有索引。我认为这是你可以为你想要的最好的。"*"

于 2016-05-24T12:27:48.813 回答