Keep Types Token Filter(保留指定类型过滤器)

简述

当type为keep_types时,过滤器将只保留包含在预定义集合中的token。

参数

| types | 要保留的类型列表 |

示例

你可以这样设置:

PUT /keep_types_example
{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "my_analyzer" : {
                    "tokenizer" : "standard",
                    "filter" : ["standard", "lowercase", "extract_numbers"]
                }
            },
            "filter" : {
                "extract_numbers" : {
                    "type" : "keep_types",
                    "types" : [ "<NUM>" ]
                }
            }
        }
    }
}

并用下述文本进行测试:

POST /keep_types_example/_analyze
{
  "analyzer" : "my_analyzer",
  "text" : "this is just 1 a test"
}

返回结果:

{
  "tokens": [
    {
      "token": "1",
      "start_offset": 13,
      "end_offset": 14,
      "type": "<NUM>",
      "position": 3
    }
  ]
}

注意输出中只有&lt;NUM&gt;token(只有数字1,其他文本都被忽略了)