gpt4 book ai didi

多个串联字段上的 Solr 分面

转载 作者:行者123 更新时间:2023-12-01 12:56:33 24 4
gpt4 key购买 nike

我需要一种方法来获取两个组合字段名称的分面。为了向您展示我的意思,请看一下现在的查询:

{
"responseHeader":{
"status":0,
"QTime":16,
"params":{
"facet":"true",
"indent":"true",
"q":"productId:(1 OR 2 OR 3 OR 4)",
"facet.field":["productMetaType",
"productId"],
"rows":"10"}},
"response":{"numFound":4,"start":0,"docs":[
{
"productId":1,
"productMetaType":"PRIMARY_PHOTO",
"url":"1_PRIM.JPG"},
{
"productId":1,
"productMetaType":"OTHER_PHOTO",
"url":"1_1.JPG"},
{
"productId":1,
"productMetaType":"OTHER_PHOTO",
"url":"1_2.JPG"},
{
"productId":2,
"productMetaType":"OTHER_PHOTO",
"url":"2_1.JPG"}]
},
"facet_counts":{
"facet_queries":{},
"facet_fields":{
"productMetaType":[
"PRIMARY_PHOTO",1,
"OTHER_PHOTO",3],
"productId":[
"1",3,
"2",1]},
"facet_dates":{},
"facet_ranges":{}
}
}

我得到两个方面字段,productMetaTypeproductId。我需要做的是以某种方式组合这些字段,这样我就可以像这样取回数据:

1_PRIMARY_PHOTO, 1,
1_OTHER_PHOTO, 2,
2_PRIMARY_PHOTO, 0,
2_OTHER_PHOTO, 1

数据透视功能是否可以做到这一点?不幸的是,我们运行的是 Solr 3.1,因此 pivot 不可用,但如果这是唯一的方法,我可能有一些升级的弹药。

我唯一能想到的另一件事是如何连接字段名称。我是 Solr 的新手,不知道什么是可能的。任何建议或帮助表示赞赏。感谢您的宝贵时间。

最佳答案

是的,Pivot 可以解决这个问题,但正如您所观察到的,此功能仅在 Solr 主干中可用。

您将这两个领域结合起来的想法也行得通。实际上,如果您的字段的值数量有限,最简单和最灵活的方法是使用 facet queries :

  • productId:1 AND productMetaType:PRIMARY_PHOTO
  • productId:2 AND productMetaType:OTHER_PHOTO
  • productId:1 AND productMetaType:OTHER_PHOTO
  • productId:2 AND productMetaType:PRIMARY_PHOTO

否则,只需在您的 Solr schema.xml 中创建一个字符串类型的新字段,通过像以前一样添加您的文档来重新创建您的索引,但是使用这个新字段(您可以根据需要生成,使用'_'作为两个字段值之间的分隔符可以完美工作)。

关于多个串联字段上的 Solr 分面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521304/

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