Solr Cloud 上的 Solr 确定性随机数

问题描述

我们希望随机结果与分页保持一致。我们尝试通过更改 randomSeed 函数修改 solr.RandomSortFieldType,基于此堆栈溢出问题:Solr: Random sort order after index version change

修改了这个函数删除了“(int)top.getVersion()”:

private static int getSeed(String fieldName,LeafReaderContext context) {
    final DirectoryReader top = (DirectoryReader) ReaderUtil.getTopLevelContext(context).reader();
    // calling getVersion() on a segment will currently give you a null pointer exception,so
    // we use the top-level reader.

    return fieldName.hashCode() + context.docBase + [Removed (int)top.getVersion()];
}

由于这没有产生预期的结果,我想知道是否可以通过创建一个存储字段来做一些更具决定性的事情,该字段是名为 (title_hash) 的文档标题字段的散列。然后我可以按如下方式替换 getSeed 函数

private static int getSeed(String fieldName,so
    // we use the top-level reader.

    return fieldName.hashCode() + getTitleHashValue();
}

是否可以从该函数中引用从字段类型继承的类中的文档字段值?如果是这样,我该怎么做,因为我不熟悉 Solr 的内部结构?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)