我有一个solr设置,它是从一个webcrawler获取数据,目前有约500万个文档。整个系统都安装在hadoop之上。最近我在solr中实现了自动完成功能。现在的问题是,因为我有500万条记录或数据从所有的网络爬网,我想重新索引的数据,而不必再爬网这些网站。所以无论如何,我可以重新索引的数据已经被索引或我将不得不重新爬网的网站?请告知。比尔
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()
我没有测试过对同一个集合重新编制索引,因为我通常会重新编制一个新集合的索引,然后切换一个别名,但它应该可以正常工作。
1条答案
按热度按时间r6l8ljro1#
我在一个pythonsolrclient库上工作,它有一个专门为此设计的方便的reindex模块。它要么以json文档的形式将您的集合转储到文件系统中,要么立即将其索引到另一个集合中。
http://solrclient.readthedocs.io/en/latest/reindexer.html
下面是如何重新索引集合。
我没有测试过对同一个集合重新编制索引,因为我通常会重新编制一个新集合的索引,然后切换一个别名,但它应该可以正常工作。