我必须索引许多这样的文档:
POST /example/doc
{
id : "type-name",
foo: bar
}
我想检索所有类型的列表.例如
POST /example/doc
{
id : "AAA-123",
foo: bar
}
POST /example/doc
{
id : "AAA-456",
foo: bar
}
POST /example/doc
{
id : "BBB-123",
foo: bar
}
并要求elasticseaarch给我一个列表,我有AAA和BBB.
UPDATE
我也解决了使用自定义分析仪的问题
"settings": {
"analysis": {
"char_filter" : {
"remove_after_minus":{
"type":"pattern_replace",
"pattern":"-(.*)",
"replacement":""
}
},
"analyzer": {
"id_analyzer":{
"tokenizer" : "standard",
"char_filter" : ["remove_after_minus"]
}
}
}
}
最佳答案 如果你保留标准分析仪,id将被分成“ – ”.因此,如果您的类型大小写相同,则可以使用简单的facet查询
curl -XPOST "http://localhost:9023/index/type/_search?size=0&pretty=true" -d
'{
"query" : {
{ "regexp":{ "id": "[A-Z]+" }
},
"facets" : {
"id" : {
"terms" : {
"field" : "id",
"size" : 50
}
}
}
}'
应该给你你可以使用的somtehing.