Reindex爬行数据Solr 5.4.1

时间:2016-06-02 15:36:06

标签: hadoop solr web-crawler

我有一个Solr设置,它从一个webcrawler获取数据,目前有~5Millions文档。整个系统设置在Hadoop的顶部。

最近我已经为我的Solr实现了自动完成功能。现在的问题是,因为我有来自整个网络的5M记录或数据,我想重新索引数据而不再抓取这些网站。那么无论如何我可以重新索引已被索引的数据或者我将不得不再次重新抓取这些网站? 请指教。

BR

1 个答案:

答案 0 :(得分:0)

我在python SolrClient库上工作,它有一个方便的reindexer模块,专门为此而设计。它会以JSON文档的形式将您的集合转储到文件系统,或者立即将其索引到另一个集合中。

http://solrclient.readthedocs.io/en/latest/Reindexer.html

以下是重新编制索引的方法。

    from SolrClient import SolrClient, IndexQ
    from SolrClient.helpers import Reindexer        
    r = Reindexer(SolrClient('http://localhost:8983/solr'), SolrClient('http://localhost:8983/solr'), source_coll='collection1', dest_coll='collection1', rows=10000)
    r.reindex()

我没有测试重新索引相同的集合,因为我通常重新索引到一个新的集合然后切换别名,但它应该工作正常。