gpt4 book ai didi

solr - 对每个桶的 solr facet 进行百分比计算

转载 作者:行者123 更新时间:2023-12-05 05:09:03 25 4
gpt4 key购买 nike

在 solr 中,我无法计算每个桶的百分比。

当我使用 solr 对我的数据进行分面时,我需要查看每个桶基于其父桶的百分比。

假设我们有一个数据分面,如下所示

{
"facets": {
"top_genres": {
"buckets": [
{
"val": "Fantasy",
"count": 1000,
"top_authors": {
"buckets": [
{
"val": "Mercedes Lackey",
"count": 500
},
{
"val": "Piers Anthony",
"count": 500
}
]
}
},
{
"val": "Mystery",
"count": 1000,
"top_authors": {
"buckets": [
{
"val": "James Patterson",
"count": 250
},
{
"val": "Patricia Cornwell",
"count": 750
}
]
}
}
]
}
}
}

我可以得到每个桶的百分比如下吗,

{
"facets": {
"top_genres": {
"buckets": [
{
"val": "Fantasy",
"count": 1000,
"top_authors": {
"buckets": [
{
"val": "Mercedes Lackey",
"count": 500,
"p":50 // percentage distribution
},
{
"val": "Piers Anthony",
"count": 500
"p":50
}
]
}
},
{
"val": "Mystery",
"count": 1000,
"top_authors": {
"buckets": [
{
"val": "James Patterson",
"count": 250,
"p":25
},
{
"val": "Patricia Cornwell",
"count": 750,
"p":75
}
]
}
}
]
}
}
}

我正在使用 solr 7.2。我看到很少有 avg、sum 等函数。但似乎无法获得百分比。

最佳答案

使用内置功能无法做到这一点。我建议的是要么在客户端进行 - 例如采用此 JSON 响应,解析计数字段并按照您想要的方式计算百分比。

另一种选择是编写自定义 Solr Component ,它将包含在 solrconfig.xml 中的组件链中。这将使您能够访问更改响应。但是,这会导致在 Solr 本身的更新/迁移期间保留此自定义 jar 的需求以及许多其他困难。对于这个简单的任务,我建议使用第一种方法

关于solr - 对每个桶的 solr facet 进行百分比计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57805790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com