当前位置:主页 > java教程 > Elasticsearch计数分词token

Elasticsearch 计数分词中的token使用实例

发布:2023-04-17 15:45:01 59


给网友朋友们带来一篇相关的编程文章,网友富陶然根据主题投稿了本篇教程内容,涉及到Elasticsearch计数分词token、Elasticsearch、token、Elasticsearch计数分词token相关内容,已被588网友关注,内容中涉及的知识点可以在下方直接下载获取。

Elasticsearch计数分词token

正文

在我们针对 text 类型的字段进行分词时,分词器会把该字段分解为一个个的 token。如果你对分词器还不是很理解的话,请参考我之前的文章 “Elasticsearch: analyzer”。在分词时,有一个叫做 token_count 的类型。该类型是 token 的计数器,也就是说,我们可以使用它来了解在索引字段时在字符串中生成的 token 数量。

我们下面用一个比较简单的例子来进行展示。在我们的示例中,我们将索引一些书名,并且我们将过滤标题中只有 2 个 token 的书。

`
 PUT book_token_count_test
 {
   "mappings": {
     "properties": {
       "book_name": {
         "type": "text",
         "fields": {
           "size": {
             "type": "token_count",
              "analyzer": "standard"
            }
          }
        }
      }
    }
  }
`![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)

使用命令写入文档

我们使用如下的命令来写入一下文档:

  POST book_token_count_test/_bulk
  {"index":{}}
  { "book_name": "Ulysses" }
  {"index":{}}
  { "book_name": "Don Quixote" }
  {"index":{}}
  { "book_name": "One Hundred Years of Solitude" }

搜索 token 文档

我们使用如下的命令来搜索 token 数为 2 的文档:

 GET book_token_count_test/_search
 {
   "query": {
     "term": {
       "book_name.size": {
         "value": "2"
       }
     }
   }
  }

上面搜索的结果为:

`
 {
   "took": 273,
   "timed_out": false,
   "_shards": {
     "total": 1,
     "successful": 1,
     "skipped": 0,
     "failed": 0
   },
    "hits": {
      "total": {
        "value": 1,
        "relation": "eq"
      },
      "max_score": 1,
      "hits": [
        {
          "_index": "book_token_count_test",
          "_id": "cxczBoYB6OPboMnB7TQu",
          "_score": 1,
          "_source": {
            "book_name": "Don Quixote"
          }
        }
      ]
    }
  }
`![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)

我们可以使用 range 查询来检索 book_name 中包含 3 个以上 token 的文档,我们只会得到标题为 “One Hundred Years of Solitude” 的文档。

  GET book_token_count_test/_search
  {
    "query": {
      "range": {
        "book_name.size": {
          "gte": 3
        }
      }
    }
  }

上面搜索的结果为:

`
  {
    "took": 1,
    "timed_out": false,
    "_shards": {
      "total": 1,
      "successful": 1,
      "skipped": 0,
      "failed": 0
    },
    "hits": {
      "total": {
        "value": 1,
        "relation": "eq"
      },
      "max_score": 1,
      "hits": [
        {
          "_index": "book_token_count_test",
          "_id": "dBczBoYB6OPboMnB7TQu",
          "_score": 1,
          "_source": {
            "book_name": "One Hundred Years of Solitude"
          }
        }
      ]
    }
  }
`![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)

以上就是Elasticsearch 计数分词中的token使用实例的详细内容,更多关于Elasticsearch计数分词token的资料请关注码农之家其它相关文章!


参考资料

相关文章

  • ElasticSearch 深度分页示例解析

    发布:2023-03-28

    这篇文章主要为大家介绍了ElasticSearch 深度分页示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • SpringBoot实现JWT token自动续期的示例代码

    发布:2023-03-14

    本文主要介绍了SpringBoot实现JWT token自动续期的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • ElasticSearch学习之ES Mapping实战示例

    发布:2023-04-19

    这篇文章主要为大家介绍了ElasticSearch学习之ES Mapping实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • ElasticSearch学习之Es集群Api操作示例

    发布:2023-04-18

    这篇文章主要为大家介绍了ElasticSearch学习之Es集群Api操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Elasticsearch py客户端库安装及使用方法

    发布:2021-04-07

    这篇文章主要介绍了Elasticsearch py客户端库安装及使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • ElasticSearch整合SpringBoot搭建配置

    发布:2023-03-27

    这篇文章主要为大家介绍了ElasticSearch整合SpringBoot搭建配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • 与近日火爆的ChatGPT聊Elasticsearch源码

    发布:2023-04-03

    这篇文章主要为大家分享了与近日火爆的ChatGPT聊Elasticsearch源码的话题内容,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • ElasticSearch学习之文档API相关操作

    发布:2023-04-17

    这篇文章主要为大家介绍了ElasticSearch学习之文档API相关操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


网友讨论