Elasticsearch?計(jì)數(shù)分詞中的token使用實(shí)例
正文
在我們針對 text 類型的字段進(jìn)行分詞時,分詞器會把該字段分解為一個個的 token。如果你對分詞器還不是很理解的話,請參考我之前的文章 “Elasticsearch: analyzer”。在分詞時,有一個叫做 token_count 的類型。該類型是 token 的計(jì)數(shù)器,也就是說,我們可以使用它來了解在索引字段時在字符串中生成的 token 數(shù)量。
我們下面用一個比較簡單的例子來進(jìn)行展示。在我們的示例中,我們將索引一些書名,并且我們將過濾標(biāo)題中只有 2 個 token 的書。
`
PUT book_token_count_test
{
"mappings": {
"properties": {
"book_name": {
"type": "text",
"fields": {
"size": {
"type": "token_count",
"analyzer": "standard"
}
}
}
}
}
}
`
使用命令寫入文檔
我們使用如下的命令來寫入一下文檔:
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 數(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 查詢來檢索 book_name 中包含 3 個以上 token 的文檔,我們只會得到標(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的資料請關(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判定一個數(shù)值是否在指定的開閉區(qū)間范圍內(nèi)
這篇文章主要給大家介紹了關(guān)于使用Java判定一個數(shù)值是否在指定的開閉區(qū)間范圍內(nèi)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09
通過第三方接口發(fā)送短信驗(yàn)證碼/短信通知(推薦)
這篇文章主要介紹了通過第三方接口發(fā)送短信驗(yàn)證碼/短信通知(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
IO流概述分類字節(jié)流寫數(shù)據(jù)三種方式及問題分析
這篇文章主要為大家介紹了IO流概述分類字節(jié)流寫數(shù)據(jù)三種方式及寫數(shù)據(jù)問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
SpringBoot配置文件導(dǎo)入方法詳細(xì)講解
Spring Boot雖然是Spring的衍生物, 但默認(rèn)情況下Boot是不能直接使用Spring的配置文件的, 我們可以通過兩種方式導(dǎo)入Spring的配置2022-10-10

