gpt4 book ai didi

solr - 如何在solr中的固定位置对某些项目实现自定义排序顺序?

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

我在名为 Drawers like 的 mysql 表中有一个抽屉列表

|      BOX       |  RANK  |
|----------------|--------|
| Box1 | 1 |
| Box2 | 2 |
| Box3 | 3 |
| Box4 | 4 |
| Box5 | 5 |

然后我有另一个消息来源说这些盒子中的一些包含珠宝并且应该只放置在特定位置(让我们称这个 table 为珠宝盒)。

|      BOX       |  RANK  |
|----------------|--------|
| Box1 | 4 |
| Box3 | 1 |
| Box5 | 3 |

我有一些需要遵守的限制:

I cannot write a stored proc on these tables

我想在 Solr 上获得一个盒子列表,其中珠宝盒的位置应该固定,而不管调用顺序(升序/降序)。例如,

升序为:

|      BOX       |  RANK  |
|----------------|--------|
| Box3 | 1 |
| Box2 | 2 |
| Box5 | 3 |
| Box1 | 4 |
| Box4 | 5 |

降序为:

|      BOX       |  RANK  |
|----------------|--------|
| Box3 | 1 |
| Box4 | 2 |
| Box5 | 3 |
| Box1 | 4 |
| Box2 | 5 |

我正在将这些表从 dih 导入到 solr 中,目前我正在绞尽脑汁思考如何做到这一点。我脑子里有两个选择,但都不是很清楚,希望你们能帮帮我。我的选择是:

  1. 以能够给我正确顺序的方式编写查询。 (这需要高超的查询技能,因为我们只有 dih 中的选择查询)
  2. 按照以下链接中的说明编写 CustomFieldComparator:http://sujitpal.blogspot.in/2011/05/custom-sorting-in-solr-using-external.html

是否有任何第三种方法可以遵循以获得所需的结果?

更新:

我可以在没有降序标准的情况下工作,但我仍然需要升序标准。

谢谢:-)

最佳答案

当您需要像这样的更大灵 active 时,我会用您熟悉的语言创建自定义索引器(请参阅 https://wiki.apache.org/solr/IntegratingSolr - 我使用 Python 并使用 mysolr)。也许创建两个字段,一个用于“升序”,一个用于“降序”;制作一个具有排名的列表,一个具有反向排名,然后查询第二个来源以用于覆盖两个列表 - 或者您需要做的任何事情来处理数据。我想可行性还取决于您需要索引多少条记录。然后对每条记录进行处理,将列表中两个排名字段的信息相加,批量发送到你的Solr服务器。

关于solr - 如何在solr中的固定位置对某些项目实现自定义排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39792438/

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