elasticsearch - 在两个或三个字段中查询elasticsearch
问题描述
我在下面的查询中同时搜索索引中的三个字段(标题、网址和描述)。
{
"from": 0,
"size": 10,
"sort": [
{
"pgrk": {
"order": "desc"
}
},
{
"url_length": {
"order": "asc"
}
}
],
"query": {
"multi_match": {
"query": "netflix releases",
"type": "cross_fields",
"fields": [
"title",
"url",
"description"
],
"operator": "and"
}
}
}
有没有办法只在两个字段中搜索,如果没有找到任何东西,也可以在第三个字段中搜索?也就是说,我只想在字段(标题和网址)中搜索,如果找不到任何内容,请搜索三个字段(标题、网址和描述)
我的查询按字段 (pagerank) 和字段 (url_length) 对结果进行排序,无法删除按字段 (pagerank 和 url_length) 的排序,因为此排序对我的结果很重要。通过我所做的这种排序,它不会生成(_score),如果它生成分数,我会在字段(标题和 url)中放入(提升)以赋予这两个字段的相关性,但由于没有分数,我需要一个在两个相关字段中搜索的方法,如果没有找到任何内容,请搜索三个字段