【发布时间】:2018-01-18 18:14:01
【问题描述】:
以下是我的索引设置。我正在为字段同义词的 xyz 类型索引使用 shingle 过滤器。
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer_keyword": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"asciifolding",
"lowercase"
]
},
"my_analyzer_shingle": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"asciifolding",
"lowercase",
"shingle"
]
}
}
}
}
},
abc: {
"abc": {
"properties": {
"value": {
"type": "string",
"search_analyzer": "my_analyzer_keyword",
"analyzer": "my_analyzer_keyword"
}
}
}
},
xyz: {
"xyz": {
"properties": {
"synonym": {
"type": "string",
"search_analyzer": "my_analyzer_shingle",
"analyzer": "my_analyzer_keyword"
}
}
}
}
我输入的文字不能超过 30 个或更多。我的要求是从我提供的这个特定输入文本中获取 xyz 类型的所有同义词字段。所以我使用以下查询,但它抛出 BooleanQuery$TooManyClauses 异常。
{
"query": {
"match": {
"synonym": {
"query": "abas asas asas qwqw ererer asas asas kjjkkj hhha asas nnn jhhha kkka nnna asas qwqw asas qwqw sdsd qwqw erer rtrtr fgfg asas nnn jhhha kkka nnna asas qwqw asas qwqw sdsd qwqw erer rtrtr fgfg "
}
}
}
}
我还需要从这个输入文本中识别出所有一个字母的同义词和两个字母的同义词。 我也尝试增加 indices.query.bool.max_clause_count 4096。 但是仍然是它的抛出错误。
【问题讨论】:
标签: elasticsearch-5