Elasticsearch?計(jì)數(shù)分詞中的token使用實(shí)例
正文
在我們針對(duì) text 類型的字段進(jìn)行分詞時(shí),分詞器會(huì)把該字段分解為一個(gè)個(gè)的 token。如果你對(duì)分詞器還不是很理解的話,請(qǐng)參考我之前的文章 “Elasticsearch: analyzer”。在分詞時(shí),有一個(gè)叫做 token_count 的類型。該類型是 token 的計(jì)數(shù)器,也就是說(shuō),我們可以使用它來(lái)了解在索引字段時(shí)在字符串中生成的 token 數(shù)量。
我們下面用一個(gè)比較簡(jiǎn)單的例子來(lái)進(jìn)行展示。在我們的示例中,我們將索引一些書(shū)名,并且我們將過(guò)濾標(biāo)題中只有 2 個(gè) token 的書(shū)。
`
PUT book_token_count_test
{
"mappings": {
"properties": {
"book_name": {
"type": "text",
"fields": {
"size": {
"type": "token_count",
"analyzer": "standard"
}
}
}
}
}
}
`
使用命令寫(xiě)入文檔
我們使用如下的命令來(lái)寫(xiě)入一下文檔:
POST book_token_count_test/_bulk
{"index":{}}
{ "book_name": "Ulysses" }
{"index":{}}
{ "book_name": "Don Quixote" }
{"index":{}}
{ "book_name": "One Hundred Years of Solitude" }
搜索 token 文檔
我們使用如下的命令來(lái)搜索 token 數(shù)為 2 的文檔:
GET book_token_count_test/_search
{
"query": {
"term": {
"book_name.size": {
"value": "2"
}
}
}
}
上面搜索的結(jié)果為:
`
{
"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"
}
}
]
}
}
`
我們可以使用 range 查詢來(lái)檢索 book_name 中包含 3 個(gè)以上 token 的文檔,我們只會(huì)得到標(biāo)題為 “One Hundred Years of Solitude” 的文檔。
GET book_token_count_test/_search
{
"query": {
"range": {
"book_name.size": {
"gte": 3
}
}
}
}
上面搜索的結(jié)果為:
`
{
"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"
}
}
]
}
}
`以上就是Elasticsearch 計(jì)數(shù)分詞中的token使用實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Elasticsearch計(jì)數(shù)分詞token的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用socket實(shí)現(xiàn)網(wǎng)絡(luò)聊天室和私聊功能
這篇文章主要介紹了使用socket實(shí)現(xiàn)網(wǎng)絡(luò)聊天室和私聊功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
使用Java判定一個(gè)數(shù)值是否在指定的開(kāi)閉區(qū)間范圍內(nèi)
這篇文章主要給大家介紹了關(guān)于使用Java判定一個(gè)數(shù)值是否在指定的開(kāi)閉區(qū)間范圍內(nèi)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09
通過(guò)第三方接口發(fā)送短信驗(yàn)證碼/短信通知(推薦)
這篇文章主要介紹了通過(guò)第三方接口發(fā)送短信驗(yàn)證碼/短信通知(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
解決SpringBoot @value注解取不到值的問(wèn)題
這篇文章主要介紹了解決SpringBoot @value注解取不到值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
IO流概述分類字節(jié)流寫(xiě)數(shù)據(jù)三種方式及問(wèn)題分析
這篇文章主要為大家介紹了IO流概述分類字節(jié)流寫(xiě)數(shù)據(jù)三種方式及寫(xiě)數(shù)據(jù)問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
JsonProperty及JSONField注解的使用說(shuō)明
文章介紹了兩個(gè)常用的Java庫(kù)注解:Jackson的@JsonProperty和Fastjson的@JSONField,它們用于控制Java對(duì)象與JSON數(shù)據(jù)之間的序列化和反序列化,文章詳細(xì)說(shuō)明了這兩個(gè)注解的常見(jiàn)屬性及其使用場(chǎng)景,包括指定屬性名、控制字段可見(jiàn)性、設(shè)置默認(rèn)值和標(biāo)記字段的必需性2024-12-12
SpringBoot配置文件導(dǎo)入方法詳細(xì)講解
Spring Boot雖然是Spring的衍生物, 但默認(rèn)情況下Boot是不能直接使用Spring的配置文件的, 我們可以通過(guò)兩種方式導(dǎo)入Spring的配置2022-10-10

