Random 同一请求中的多个ordenation需求

Random 同一请求中的多个ordenation需求,random,pagination,solr,request,Random,Pagination,Solr,Request,我怀疑solr的可能性。我需要处理特殊问题的请求: 我首先需要:由用户键入的所有术语的升级记录(随机排序)。 第二:用户键入任何术语的升级记录(随机排序)。 第三:通过词干搜索找到的升级记录(随机排序)。 第四:通过语音搜索找到的升级记录(随机)。 第五:按字母顺序排列的免费记录(由用户键入所有或任何术语) 这些结果需要分页 是否可以在同一个请求中执行此操作?在发现solr中支持随机排序后,通过: <fieldType name="random" class="solr.RandomSor

我怀疑solr的可能性。我需要处理特殊问题的请求:

我首先需要:由用户键入的所有术语的升级记录(随机排序)。 第二:用户键入任何术语的升级记录(随机排序)。 第三:通过词干搜索找到的升级记录(随机排序)。 第四:通过语音搜索找到的升级记录(随机)。 第五:按字母顺序排列的免费记录(由用户键入所有或任何术语)

这些结果需要分页


是否可以在同一个请求中执行此操作?

在发现solr中支持随机排序后,通过:

<fieldType name="random" class="solr.RandomSortField" />
<field name="random" type="random" indexed="true" stored="false"/>

这些查询是可能的,但不是一次查询

虽然可以使用facet和facet.query功能,但这只返回计数。。。不是文件

我会建立一个单独的广告索引,而不是用普通的方法来实现“广告”

包含用户键入的所有术语的升级记录(随机排序)

对广告索引的简单查询

用户键入任何术语的升级记录(随机排序)

对广告索引的简单OR查询

由词干搜索找到的升级记录(随机排序)

广告索引中的常规搜索(带词干)

通过语音搜索找到的升级记录(随机)

您需要通过自己的语音转换来转换查询和术语。因此,您将有一个特殊的字段拼音文本,您需要通过

q=拼音文字:“U R G8”(意思是:你很棒;-)

按字母顺序排列的免费记录(由用户键入所有或任何术语)

再次通过带排序参数的“AND”或“or”进行正常搜索