动态检索Solr文档中存在的所有字段

时间:2017-08-23 17:20:48

标签: javascript jquery solr luke bigdata

是否可以动态检索一组Solr文档中存在的所有字段并仍然保持合理的性能?这里的最终目标是动态填充数字字段列表,供用户对其当前查询进行排序。

在一个完美的世界中,我希望能够让这个列表包含用户查询返回的文档中的所有数字字段。

但是,如果无法实现这一点,我将通过luke处理程序使用数字字段填充列表。不幸的是,似乎luke处理程序返回整个集合的字段,但不能仅限于当前查询。

我对Solr很新,所以非常感谢任何帮助/讨论!

1 个答案:

答案 0 :(得分:0)

这就是我解决问题的方法:

  1. 向架构添加新字段:SORT_DOC_FIELDSNO_SORT_DOC_FIELDS
  2. 使用ScriptUpdateProcessor编写了一些JavaScript,确定是否可以根据多个条件对字段进行排序(例如,不是多值,而不是类型tdatestring)。如果可以对其进行排序,我将其添加到该文档的SORT_DOC_FIELDS字段中;如果没有,我将其添加到NO_SORT_DOC_FIELDS字段。
  3. 每当我想要检索查询中存在的字段时,我都会将&facet=true&facet.field=SORT_DOC_FIELDS&facet.field=NO_SORT_DOC_FIELDS&facet.limit=-1添加到查询字符串中。
  4. 表现还可以。我有一个3000万个文档的索引,并且查询和获得响应,往返,大约需要2秒。