重新索引爬网数据解决方案5.4.1

s3fp2yjn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(288)

我有一个solr设置,它是从一个webcrawler获取数据,目前有约500万个文档。整个系统都安装在hadoop之上。
最近我在solr中实现了自动完成功能。现在的问题是,因为我有500万条记录或数据从所有的网络爬网,我想重新索引的数据,而不必再爬网这些网站。所以无论如何,我可以重新索引的数据已经被索引或我将不得不重新爬网的网站?请告知。
比尔

r6l8ljro

r6l8ljro1#

我在一个pythonsolrclient库上工作,它有一个专门为此设计的方便的reindex模块。它要么以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()

我没有测试过对同一个集合重新编制索引,因为我通常会重新编制一个新集合的索引,然后切换一个别名,但它应该可以正常工作。

相关问题