由于url大小超过SOLR而使用map函数进行排序的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于url大小超过SOLR而使用map函数进行排序的问题相关的知识,希望对你有一定的参考价值。
我有一个数据存储在我的首选颜色在DB中:红色,黄色,黑色.....假设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
以上是关于由于url大小超过SOLR而使用map函数进行排序的问题的主要内容,如果未能解决你的问题,请参考以下文章