我有一个Solr框,现在由PHP cronjob提供。
我希望通过切换到C ++进程来加快速度并节省一些内存。
我不想通过创建新库来重新发明轮子。
唯一的问题是我在C ++中找不到Solr的库。
否则我将不得不使用CURL创建一个。
你们有没有人知道用C ++编写的Solr之间的库?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用“fed”,你的意思是传递文件进行索引吗?您可能会发现正在进行“喂食”的过程不是瓶颈,而是Solr可以快速摄取文档。
在你做大量的工作之前我还建议你进行一些分析,因为这个过程通常不受CPU限制,所以通过转移到C ++你所获得的速度提升会令人失望。
答案 2 :(得分:0)
您是否尽可能优化了架构?两个明显的第一步是: 1.不要存储不需要显示的数据。(字段ID和元数据等) ......和那个相反...... 2.索引数据不仅用于显示,而且不用于搜索。 (补充数据)
尝试这个有点古怪的事情有时会起作用,有时候不会将add / overwrite属性改为false。
<add overwrite="false">
这会禁用唯一ID检查(我认为)。因此,如果您正在完全擦除/替换索引,并且您肯定只是添加唯一文档,那么这可以加快导入速度。这实际上取决于索引的大小。如果您有超过2,000,000个文档,并且每次索引器添加一个新文档时,您都会通过不强制检查该文档是否已存在而获得一定的速度。不是最有说服力的解释,但我希望它有意义。
就个人而言,我使用的数据导入处理程序可以减少对中间脚本的需求。它只是连接到数据库并通过单个查询剔除所需的信息。