由于 SOLR 中 url 大小超出,使用 map 函数进行排序时出现问题

Issues in sorting using map function due to url size exceeding in SOLR

我在数据库中用我喜欢的颜色存储了一个数据:红色、黄色、黑色.....假设有 20 种颜色,现在每当我使用 SOLR 进行搜索时,我都希望我的结果能够根据我喜欢的颜色得到提升颜色?我们应该怎么做.... 我尝试了 SOLR 的地图功能,但对于这么多首选颜色,我的 solr url 长度显着增加。有更简单的方法吗?

将值拆分为单独的标记或将其预处理为多值字段,然后使用提升查询来提升与您的查询匹配的任何结果。

您可以使用 PatternTokenizer 将字段拆分为单独的标记:

 <fieldType name="text_color" class="solr.TextField" positionIncrementGap="100">
   <analyzer>
     <tokenizer class="solr.PatternTokenizerFactory" pattern="," />
   </analyzer>
 </fieldType>

<field name="color" type="text_color" indexed="true" stored="true" />

.. 并使用 (e)dismax:

在您的查询中提升它
 &bq=color:red^10