我有一个字段,其中包含名为" CompanyName"的空格。 CompanyName字段包含"ABC Client", "BCD CLIENT 123", "EFG CLIENT HIJ"
当我索引数据时,我将映射设置为" index" :" not_analyzed"。当我运行聚合时,没有任何其他查询,它似乎工作正常。
我遇到的问题是,如果我想首先运行另一个查询,然后获得这些结果的聚合,那么聚合就会中断,因为它会解释公司名称中的空格,所以看起来聚合是在输出第一个查询而不是我设置的字段。
查询:
{
"size": 0,
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"Stuff": "1"
}
},
{
"term": {
"filename": "FileOfData.sourcedata"
}
}
]
}
}
}
},
"aggs": {
"users": {
"terms": {
"field": "CompanyName"
}
}
}
}
我还尝试使用以下方法添加自定义分析器:
"analysis": {
"analyzer": {
"companynamestring": {
"type": "custom",
"tokenizer": "keyword",
"filter": "lowercase"
}
}
}
}
它仍然不起作用。有谁知道我如何运行查询然后得到一个只返回完整CompanyName字段并且没有标记化的聚合?
谢谢!