带有小写滤波器的自定义分析仪无法按预期工作

时间:2015-01-14 16:01:23

标签: elasticsearch query-analyzer

我有一个名为custom_raw_analyzer的简单自定义分析器,如下所示:

$ curl 'http://localhost:9200/test/_settings?pretty'

  "test" : {
    "settings" : {
      "index" : {
        "uuid" : "_M-KXnZSQXyFH7cqbh6lsw",
        "number_of_replicas" : "1",
        "analysis" : {
          "analyzer" : {
            "custom_raw_analyzer" : {
              "type" : "custom",
              "filters" : [ "lowercase" ],
              "tokenizer" : "keyword"
            }
          }
        },
        "number_of_shards" : "5",
        "refresh_interval" : "10s",
        "version" : {
          "created" : "1030499"
        }
      }
    }
  }
}

但是当我对随机字符串进行测试时,输出标记不是小写的:

$ curl -XGET 'localhost:9200/test/_analyze?analyzer=custom_raw_analyzer' -d "This Is A Test"

结果:

{
  "tokens": [
    {
      "token": "This Is A Test",
      "start_offset": 0,
      "end_offset": 14,
      "type": "word",
      "position": 1
    }
  ]
}

任何人都可以解释原因吗?

1 个答案:

答案 0 :(得分:1)

我认为你有一个错字:

"filters" : [ "lowercase" ],

不应该有一个尾随的“s”:

"filter" : [ "lowercase" ],