所以..从一开始。 我正在尝试使用词干分析器和同义词过滤器创建elasticsearch索引,但是遇到了一些问题。
我的目标第二部分实际上存在问题。我想提供.txt文件来定义这些同义词,诀窍是文件很大(20-40MB),elasticsearch抛出的最大字节长度超出了异常,完全是这样:
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "failed to build synonyms"
}
],
"type" : "illegal_argument_exception",
"reason" : "failed to build synonyms",
"caused_by" : {
"type" : "max_bytes_length_exceeded_exception",
"reason" : "bytes can be at most 32766 in length; got 135503"
}
},
"status" : 400
}
不幸的是,通过互联网搜索增加限制的选项是无效的。 是否可以选择增加限额?或针对这种情况有某种解决方法?
任何想法都很重要,谢谢。
//编辑 整个索引json
PUT test_index
{
"settings":{
"analysis":{
"filter":{
"german_keywords":{
"type":"keyword_marker",
"keywords":[
]
},
"german_stemmer":{
"type":"stemmer",
"language":"german"
},
"german_synonym":{
"type":"synonym",
"synonyms_path":"analysis/export.txt"
}
},
"analyzer":{
"german":{
"tokenizer":"keyword",
"filter":[
"lowercase",
"german_keywords",
"german_stemmer",
"german_synonym"
]
}
}
}
},
"mappings":{
"properties":{
"fval":{
"type":"text",
"fields":{
"exact":{
"type":"text",
"analyzer":"german"
}
}
},
"sval":{
"type":"text",
"fields":{
"exact":{
"type":"text",
"analyzer":"german"
}
}
},
"tval":{
"type":"text",
"fields":{
"exact":{
"type":"text",
"analyzer":"german"
}
}
}
}
}
}