设置自定义分析器时出现以下问题:“phoneNumber”:{
“type”:“关键字”,
“fields”:{
“numvalue”:{
“type”:“long”,
“analyzer”:“phone_analyzer”
}}}
“phone_analyzer”:{
“tokenizer”:“标准”,
“char_filter”:[“电话号码”]}
“char_filter”:{
“电话号码”:{
“type”:“模式替换”,
“模式”:“[^0-9]",
“替换”:“”
}}
所以基本上我的意图是让“原始值”仍然被用作关键字,同时我创建了一个名为numvalue的新字段,其中它是长的,并使用带有chat_filter的自定义分析器,将所有非数字值替换为“”(没有空格)。因此,如果事情顺利,我的前端将检索原始值-与-或+或任何和我的后端搜索将使用“numvalue”在范围搜索。
当我运行它时,我确实得到了“mapper_parsing_exception”“无法解析类型为[long]的mapper [numvalue]上的Map[_doc]未知参数[analyzer]状态400。
周围还有其他分析师。你知道为什么吗我正在使用7.* 进行Elastic搜索B
1条答案
按热度按时间ie3xauqp1#
文件:
每个字段都有一个字段数据类型或字段类型。此类型指示字段包含的数据类型(如字符串或布尔值)及其预期用途。例如,可以将字符串索引到文本字段和关键字字段。但是,将分析文本字段值以进行全文搜索,而保留关键字字符串以进行筛选和排序。
将long类型更改为Text。只有文本类型与分析器一起工作。
查询
Map