3

我正在使用以下查询进行搜索: /select?q= : &fq=fld:dddd OR fld:aaaa OR fld:bbbb 其中,字段 fld 是字符串类型和唯一键。

我得到的结果如下:

<doc>
   <str name="fld">aaaa</str>
</doc>
<doc>
   <str name="fld">bbbb</str>
</doc>
<doc>
   <str name="fld">dddd</str>
</doc>

看起来像结果但我希望结果是“未排序的”......意思是,我希望结果按照我在 fq 条件中给出的顺序。也就是说,我想要的结果如下:

<doc>
   <str name="fld">dddd</str>
</doc>
<doc>
   <str name="fld">aaaa</str>
</doc>
<doc>
   <str name="fld">bbbb</str>
</doc>

我们如何做到这一点?提前致谢!

4

2 回答 2

1

如果你添加score到你的flthen 你会看到它们都有相同的分数值,所以它被排序- 这就是fld 为什么你看到 aaaa bbbb dddd-

您可以更改评分或给出boost查询时间,具体取决于您的fl订单以获得类似的东西,但除了那些我认为不编写插件或破解 solr 源代码就不可能拥有它的东西。

于 2012-10-17T04:38:56.987 回答
0

您还可以将 RandomSortField 添加到您的架构中。然后对结果进行随机排序。看:

http://lucene.apache.org/solr/4_0_0/solr-core/org/apache/solr/schema/RandomSortField.html

编辑:重新阅读帖子后,我意识到这不是你要找的。您可以尝试使用函数进行排序:

http://wiki.apache.org/solr/FunctionQuery

于 2013-01-09T15:33:34.540 回答