startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backwards
使用了拼音分析器的字段在新增文档时出现上面的报错,百度了一些资料说把"ignore_pinyin_offset" : "false"
改成true
就可以了,但是改成true
这个字段就无法高亮了
出错原因:插入的数据存在特殊字符
解决方法:使用字符过滤器
过滤掉特殊字符
"settings": {
"analysis": {
"analyzer": {
"pinyin_analyzer": {
"tokenizer": "my_pinyin_tokenizer",
// 使用自定义的字符过滤器
"char_filter": ["special_character_filter"]
}
},
"char_filter": {
// 过滤掉除 中文、字母、数字 以外的字符
"special_character_filter": {
"type": "pattern_replace",
"pattern": "[^\\u4e00-\\u9fa5a-zA-Z0-9]",
"replacement": ""
}
},
"tokenizer": {
"my_pinyin_tokenizer": {
"type": "pinyin",
"keep_joined_full_pinyin": true,
"keep_none_chinese_in_joined_full_pinyin": true,
"ignore_pinyin_offset" : "false"
}
}
}
}