我正在使用ES 1.7.2。我的分析器为filled_by_suggest字段
"company_analyzer": {
"tokenizer": "whitespace",
"filter": [
"shingle_filter"
]
}
shingle filter
"shingle_filter": {
"type": "shingle",
"min_shingle_size": 2,
"max_shingle_size": 5
}
字段映射
"filed_by_suggest" : {"type" : "completion", "analyzer" : "company_analyzer"}
当我这样做时
PUT my_index/my_type/1
{
"filed_by_suggest": "timothy M Hogan - AZ Ctr for Law in the Public Interest"
}
我得到以下错误
{
"error": "IllegalArgumentException[TokenStream expanded to 1793 finite strings. Only <= 256 finite strings are supported]",
"status": 500
}
但是当我尝试索引像
这样的较大字符串时PUT my_index/my_type/1
{
"filed_by_suggest": "alliance telecommunications corp., hector communications corporation, golden west telecommunications cooperative, inc., splitrock telecom coop., inc., ollig utilities co., sioux valley telephone co., hills telephone co. inc., sleepy eye te"
}
此操作成功。我对完成建议器内部使用的 FST 有所了解。
有谁能请解释如何扩展令牌以及如何解决这个问题?
答案 0 :(得分:0)
这取决于您的分析仪。
输入字符串将由分析器拆分为令牌,您可以使用_analyze
API测试和计算令牌。