试试搜索一下吧

es跨字段搜索的问题

Elasticsearch | 作者 yyl211 | 发布于2016年05月10日 | 阅读数:5082

比如要实现对字段name、school的搜索,需要匹配name:小明,school: 五一小学,同时匹配两个字段的值才行,该怎么实现呢?
已邀请:

qq123 - 90后IT精英

赞同来自:

 QueryBuilder query= QueryBuilders.multiMatchQuery(value
                ,"company.ik"
                ,"summary.ik"
                )

helloes

赞同来自:

如下方式可以实现把相关文档查询出来,但是具体你要实现best_fields、most_fields、cross_fields的方式,你可以再改下
{
"bool": {
"must": [
{
"match": {
"name": {
"query": "小明",
"analyzer": "ik_smart"
}
}
},
{
"match": {
"school": {
"query": "五一小学",
"analyzer": "ik_smart"
}
}
}
]
}
}

yyl211

赞同来自:

考虑使用cross_fields 进行搜索,谢谢解答!

要回复问题请先登录注册