其實我的問題很簡單:我想我的hashmap值not_analyzed!Spring Elasticsearch HashMap [String,String]映射值不能被分析
我現在有一個對象包含一個HashMap [字符串,字符串],看起來像:
class SomeObject{
String id;
@Field(type=FieldType.Object, index=FieldIndex.not_analyzed)
Map<String, String> parameters;
}
然後elasticsearch在beggining生成這樣的映射彈簧數據:
{
"id": {
"type": "string"
},
"parameters": {
"type": "object"
}
}
在此之後我添加了一些對象的ES,它增加了更多像這樣的屬性:
{
"id": {
"type": "string"
},
"parameters": {
"properties": {
"shiduan": {
"type": "string"
},
"季節": {
"type": "string"
}
}
}
}
現在,因爲的參數的價值進行了分析,所以不能通過es搜索,我的意思是不能搜索中文價值,我試過我可以在這個時候搜索英文。
隨後,在閱讀這篇文章https://stackoverflow.com/a/32044370/4148034,我手動更新映射這樣的:
{
"id": {
"type": "string"
},
"parameters": {
"properties": {
"shiduan": {
"type": "string",
"index": "not_analyzed"
},
"季節": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
我可以立即搜索中文,所以我知道問題是「not_analyzed」,像帖子裏說。
最後,任何人都可以告訴我如何使地圖值「not_analyzed」,我有谷歌和stackoverflow許多次仍然找不到答案,讓我知道如果有人可以幫助,非常感謝。
對不起,沒有按時接受你的答案,它的工作原理。再次感謝你的幫助 –