Token数

原文链接 : https://www.elastic.co/guide/en/elasticsearch/reference/current/token-count.html

译文链接 :http://www.apache.wiki/pages/viewpage.action?pageId=10030674

贡献者 : 李亚运ApacheCNApache中文网

简述

类型为token_count的字段是一个接受字符串值的integer字段,对它们进行分析,然后对字符串中的token数进行索引。

示例

例如:

  1. PUT my_index
  2. {
  3. "mappings": {
  4. "my_type": {
  5. "properties": {
  6. "name": {
  7. "type": "text",
  8. "fields": {
  9. "length": {
  10. "type": "token_count",
  11. "analyzer": "standard"
  12. }
  13. }
  14. }
  15. }
  16. }
  17. }
  18. }
  19. PUT my_index/my_type/1
  20. { "name": "John Smith" }
  21. PUT my_index/my_type/2
  22. { "name": "Rachel Alice Williams" }
  23. GET my_index/_search
  24. {
  25. "query": {
  26. "term": {
  27. "name.length": 3
  28. }
  29. }
  30. }

| Token数 - 图1 | name字段是使用默认standard分析器的分析字符串字段。 | | Token数 - 图2 | name.length字段是一个token_count 多字段 ,它将在name字段中索引token的数量。 | | Token数 - 图3 | 此查询仅匹配包含Rachel Alice Williams的文档,因为它包含三个token。 |

注意

在技术上, token_count类型对位置增量进行求和,而不是对token计数。 这意味着即使分析仪滤除停止词,它们也包括在计数中。

参数

token_count字段接受以下参数:

| analyzer | 应该用于分析字符串值的分析器 。必须值。 为获得最佳性能,请使用不带token过滤器的分析器。 | | boost | 映射字段级查询时间提升。 接受一个浮点数,默认为1.0 。 | | doc_values | 该字段是否应该以多列的方式存储在磁盘上,以便以后可以将其用于排序,聚合或脚本化?接受true (默认)或false 。 | | index | 应该可以搜索该字段吗? 接受not_analyzed (默认)和no 。 | | include_in_all | 字段值是否应包含在_all字段中? 接受truefalse 默认为false 。 注意:如果为true ,则将字符串值添加到_all,而不是计算的token数量。 | | null_value | 接受与替换任何显式null值的字段相同type的数值。 默认为null ,这意味着该字段被视为丢失。 | | store | 字段值是否应与_source字段分开存储和检索。 接受truefalse (默认)。 |