我有这个问题,我想排序2匹配,我的代码现在看起来像这样(在php数组中)
$data = [
'query' => [
'bool' => [
'must' => [
'multi_match' => [
'query' => $q,
'fields' => ['Fulltext'],
'type' => 'cross_fields',
'operator' => 'and'
]
],
'should' => [
'match' => [
'Title' => $q,
]
]
]
],
'aggregations' => [
'categorys' => [
'terms' => [
'field' => 'Categorys.value',
'size' => $category_size
]
]
],
'size' => $product_size,
'sort' => [
'Popular' => [
'order' => 'desc'
]
]
];
这种问题我想用#34; Popular"但是,它不是第一次匹配"应该"然后在"必须"所以我的问题是。
如何在第一个匹配点开始排序,然后根据热门字段对secound匹配点进行排序?
问题是我想在prouct中搜索Title中的查询匹配高于importtext然后在Fulltext字段中。
所以,如果我根据标题得到10个resualt并且分数更高然后是基于Fulltext的下一个10 resualt,但是我们有3个来自Title的reusalt和来自Fulltext的2个,其中Probular是gretnder然后是0然后这个匹配关闭是&# 39; en和排序方式(_score,Popular)如果Popular更好,那么零其他排序只是基于(_score)
能让身体帮助我解决这个问题吗?