【发布时间】:2016-03-02 21:49:30
【问题描述】:
我正在使用 solr,遇到了一个有趣的排序请求,但我无法克服。
请求是针对单个索引字段的单个搜索短语,结果首先按“以”搜索短语“开头”的项目排序,然后按字母顺序对其余结果排序。
例如,给定包含 ['reversion catapult', 'rat', 'catering', 'mat', 'cat', 'volkswagen', 'recatogorize', 'a total catastrophe'] 的 solr 索引,搜索短语“cat”应按以下顺序返回结果:
cat, catering, a total catastrophe, recatogorize, reversion catapult
使用查询提升,我已经能够获得要求的第一部分,其中“开头为”匹配项位于列表顶部,但我无法让其余项目按字母顺序排序。
这是我当前的 q 语句(使用 solrJ):
((entity_name_search:" + "\"" + URLEncoder.encode(descSearchString, CharacterEncoding.UTF_8)
+ "*^2\") OR (entity_name_search:"
+ "\"" + URLEncoder.encode(descSearchString, CharacterEncoding.UTF_8) + "\"))
任何帮助将不胜感激。
【问题讨论】:
-
我有一个强力解决方案来解决这个问题,如果有人来找它,我会发布它