美文网首页
solr实现随机排序

solr实现随机排序

作者: 传达室马大爷 | 来源:发表于2020-09-25 17:15 被阅读0次
实现方式

schema.xml文件中配置一个随机类型的字段

<dynamicField name="rand*" type="random" indexed="true" stored="true" />

配置完成后,重启下solr服务,在随机查询中加入这个字段的排序就可以实现随机取数据了

场景1:在solr中查询某个条件的数据列表,随机返回N条数据

使用如下:

SolrQuery solrQuery = new SolrQuery("*:*");
solrQuery.setStart(1);
solrQuery.setRows(10);
// 随机排序
String randomField = "rand_" + ThreadLocalRandom.current().nextInt(100000);
solrQuery.addSort(randomField, SolrQuery.ORDER.desc);
场景2:分组后的数据随机取值
int num = ThreadLocalRandom.current().nextInt(100000);
String randomField = "rand_" + num + " ASC";
SolrQuery solrQuery = new SolrQuery("*:*");
solrQuery.setParam(GroupParams.GROUP, true)
         .setParam(GroupParams.GROUP_FIELD, fieldName)
         .setParam(GroupParams.GROUP_LIMIT, String.valueOf(1))
         .setParam(GroupParams.GROUP_SORT, randomField)
         .setParam(GroupParams.GROUP_TOTAL_COUNT, true);

相关文章

  • solr实现随机排序

    实现方式 schema.xml文件中配置一个随机类型的字段 配置完成后,重启下solr服务,在随机查询中加入这个字...

  • JavaScript数组随机排序

    实现JS中数组随机排序的代码很简单,

  • 实现数组随机排序

    方法一:根据Array的sort函数 方法二: 方法三:

  • sunspot+solr搜索的自定义排序

    近来由于系统需要个性化的排序搜索结果,所以研究了一下solr的排序,发现solr支持在排序中使用函数对字段进行处理...

  • C-猜数字游戏

    目的 通过实现猜数字小游戏,达到掌握随机数的产生,去除重复数据,排序的作用 技术 随机数的产生,去除重复数据,排序...

  • 2018-12-06(2)

    作业要求 冒泡法排序:实现用户随机输入6个整数,从大到小排序输出。 代码 ...namespace _2{clas...

  • 搜索引擎——Solr安装、配置

    搜索引擎——Solr安装、配置 什么是solr? Solr是如何实现全文检索的呢? 索引流程:solr客户端(浏览...

  • solr 基本配置

    Solr是什么 Solr是如何实现全文检索的 索引流程:solr客户端(浏览器、java程序)可以向solr服务端...

  • 常见排序算法

    希尔排序,快速排序,堆排序,2路归并算法的c++简单实现 在 里面写了一个随机数列生成,可以快速验证算法的正确性 ...

  • js经典算法记录

    随机数组洗牌 简单的日期字符串排序 递归实现数组扁平化 极简版数组扁平化 记录数组项重复次数 冒泡排序 快速排序(...

网友评论

      本文标题:solr实现随机排序

      本文链接:https://www.haomeiwen.com/subject/pamfuktx.html