我需要获得2个方面,如果可能的话,我可以划分2个方面值并得到派生字段并对其进行排序,
比较的简单工作示例:
const jsonFacet = { // json facet for counts
users: {
type: 'terms',
field: 'job_type_id',
limit: 30,
sort: 'div(expected/current)',
facet: {
expected: 'sum(expected_salary)',
current: 'sum(current_salary)',
},
},
};
工作示例的输出
facets: {
count: 857,
users: {
buckets: [
{
val: 1737,
count: 623,
expected: 10449,
current: 10449,
},
{
val: 3387,
count: 149,
expected: 10449,
current: 10449,
},
{
val: 3189,
count: 85,
expected: 10449,
current: 10449,
}
]
}
}
我的示例 - 哪个无效,当我为方面添加查询时,我无法使用或者我无法找到任何文档div()
const jsonFacet = { // json facet for counts
users: {
type: 'terms',
field: 'job_type_id',
limit: 30,
sort: 'div(expected.count,current.count)', // issues here
facet: {
expected: {
query: 'state_id:(4 5 8 9 10)',
},
current: {
query: 'state_id:(2 3 4 5 8 9)',
}
},
},
};
有问题的查询输出,如果我不添加sort
,那么我将得到以下结果。如果我启用排序(我没有在任何地方获取文档,以我自己的方式尝试)然后我得到error":{"trace":"java.lang.NullPointerException\n
facets: {
count: 857,
users: {
buckets: [
{
val: 1737,
count: 623,
shortlist_ratio_num: {
count: 337
},
shortlist_ratio_den: {
count: 452
}
},
{
val: 3387,
count: 149,
shortlist_ratio_num: {
count: 31
},
shortlist_ratio_den: {
count: 56
}
},
{
val: 3189,
count: 85,
shortlist_ratio_num: {
count: 29
},
shortlist_ratio_den: {
count: 56
}
}
]
}
}