我需要在solr中查询查询后列出排名(或位置,您可能更喜欢)或每个文档。我想看的东西是这样的:
<doc>
<int name="field1">1</int>
<str name="someotherfield">blabla</str>
<int name="position">1</int>
</doc>
<doc>
<int name="field1">2</int>
<str name="someotherfield">blabla</str>
<int name="position">2</int>
</doc>
<doc>
<int name="field1">3</int>
<str name="someotherfield">blabla</str>
<int name="position">3</int>
</doc>
这可能吗?或者我需要实现或找到一个插件?
答案 0 :(得分:3)
DocIterator
并在子类中实现。然后我在ReturnFields
中添加了一个控制块,用于检查fl是否在其中有位置。它与score
的工作方式类似。最后要做的是添加一个自定义增强器类,如PositionAugmenter
- 类似于ScoreAugmenter
。然后我完成了:)
感谢 David Faber 让我了解处理原始XML的结果
答案 1 :(得分:-2)
在结果中列出字段position
(以及其他内容):
...&fl=field1,field2,position
按position
...&sort=position desc
请在此处提及:http://wiki.apache.org/solr/CommonQueryParameters#sort