我正在尝试将Solr索引导出到JSON文件。但是,在我关心的2个字段中,其中一个(字段A
)是multivalued
,另一个(字段B
)neither indexed nor has doc values
(此字段可能缺少架构) 。两者都导致显示can not use FieldCache on a field which is ...
这些字段的模式位于远程服务器上,不应更改。那么是否有可能通过这些字段导出索引?谢谢!
p.s。如果可能的话,我也想在这两个字段上fl
,因为它们都是我所需要的。
答案 0 :(得分:0)
在这种情况下,您可能想自己编写一个导出脚本,using a cursor mark来加快检索速度(要使用/ export功能,必须在字段中启用docValues)。 / p>
有几种语言的示例可用于提取光标标记页面上的所有文档,并且它们几乎可以直接应用于结果集(您必须自己编写JSON)。
SolrQuery q = (new SolrQuery(some_query)).setRows(r).setSort(SortClause.asc("id")); String cursorMark = CursorMarkParams.CURSOR_MARK_START; boolean done = false; while (! done) { q.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark); QueryResponse rsp = solrServer.query(q); String nextCursorMark = rsp.getNextCursorMark(); doCustomProcessingOfResults(rsp); if (cursorMark.equals(nextCursorMark)) { done = true; } cursorMark = nextCursorMark; }
请确保使用较大的r
值,以减少往返次数。