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

原文链接 : https://www.elastic.co/guide/en/elasticsearch/reference/5.4/analysis-keep-types-tokenfilter.html

译文链接 : http://www.apache.wiki/display/Elasticsearch

贡献者 : 李亚运ApacheCNApache中文网

简述

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

参数

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

示例

你可以这样设置:

  1. PUT /keep_types_example
  2. {
  3. "settings" : {
  4. "analysis" : {
  5. "analyzer" : {
  6. "my_analyzer" : {
  7. "tokenizer" : "standard",
  8. "filter" : ["standard", "lowercase", "extract_numbers"]
  9. }
  10. },
  11. "filter" : {
  12. "extract_numbers" : {
  13. "type" : "keep_types",
  14. "types" : [ "<NUM>" ]
  15. }
  16. }
  17. }
  18. }
  19. }

并用下述文本进行测试:

  1. POST /keep_types_example/_analyze
  2. {
  3. "analyzer" : "my_analyzer",
  4. "text" : "this is just 1 a test"
  5. }

返回结果:

  1. {
  2. "tokens": [
  3. {
  4. "token": "1",
  5. "start_offset": 13,
  6. "end_offset": 14,
  7. "type": "<NUM>",
  8. "position": 3
  9. }
  10. ]
  11. }

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