ElasticSearch如何設(shè)置某個字段不分詞淺析
先說結(jié)論:字段類型更改為 'keyword'
elasticSearch官方文檔中創(chuàng)建index代碼如下
PUT /my_store
{
"mappings" : {
"products" : {
"properties" : {
"productID" : {
"type" : "string",
"index" : "not_analyzed"
}
}
}
}
}由于es官方文檔版本基于2.x編寫,而本人安裝版本為6.6 在執(zhí)行如上代碼過程中出現(xiàn)如下錯誤
No handler for type [string] declared on field [productID]

這里報錯是因為ElasticSearch5.x以上版本沒有string類型了,換成了text和keyword作為字符串類型。
字符串 - text:用于全文索引,該類型的字段將通過分詞器進行分詞,最終用于構(gòu)建索引
字符串 - keyword:不分詞,只能搜索該字段的完整的值,只用于 filtering
此時我們將文檔中代碼更改為如下
PUT /my_store
{
"mappings" : {
"products" : {
"properties" : {
"productID" : {
"type" : "keyword",
"index": true
}
}
}
}
}
創(chuàng)建成功,此時我們進行查詢試試看
GET /my_store/products/_search
{
"query" : {
"constant_score" : {
"filter" : {
"term" : {
"productID" : "XHDK-A-1293-#fJ3"
}
}
}
}
}
總結(jié)
到此這篇關(guān)于ElasticSearch如何設(shè)置某個字段不分詞的文章就介紹到這了,更多相關(guān)ElasticSearch設(shè)置字段不分詞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于jdk環(huán)境變量配置以及javac不是內(nèi)部或外部命令的解決
這篇文章主要介紹了關(guān)于jdk環(huán)境變量配置以及javac不是內(nèi)部或外部命令的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
詳談鎖和監(jiān)視器之間的區(qū)別_Java并發(fā)
下面小編就為大家?guī)硪黄斦勬i和監(jiān)視器之間的區(qū)別_Java并發(fā)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06

