我有多个内容类型“服务,个人资料,新闻,工作”,它们正在弹性搜索中被索引。我正在尝试根据搜索词提取文档。例如-
如果用户类型-“ California”-系统必须从每种内容类型返回前3条匹配记录。我有以下项目来构建查询-搜索字词,匹配[标题,描述,位置,服务,专业化]的字段,按内容类型[配置文件,服务,职位,博客]进行过滤。
我尝试过自己,这是查询
{
"aggs": {
"group": {
"terms": {
"field": "type.raw"
},
"aggs": {
"group_docs": {
"top_hits": {
"sort": [
{
"date.updated": {
"order": "asc",
"unmapped_type": "date"
}
}
],
"size": 3
}
}
}
}
},
"query": {
"bool": {
"must": {
"multi_match": {
"query": "work",
"fields": [
"title",
"description",
"services",
"location",
"area_of_specialization"
]
}
},
"filter": {
"bool": {
"should": [
{
"term": {
"type": "profile"
}
},
{
"term": {
"type": "blog"
}
},
{
"term": {
"type": "jobs"
}
},
{
"term": {
"type": "services"
}
}
]
}
}
}
}
}
我正在使用弹性搜索6.5.3版。
任何帮助将不胜感激。