java update solr_java – 有什么区别:ConcurrentUpdateSolrServer vs HttpSolrServer vs CommonsHttpSolrServer?...

我们目前在2017年,Solr社区将SolrServer重命名为

SolrClient,目前我们有4个实现:

> CloudSolrClient

> ConcurrentUpdateSolrClient

> HttpSolrClient

> LBHttpSolrClient

文档建议使用ConcurrentUpdateSolrClient,因为它将所有更新请求缓冲到最终的BlockingQueue< Update> queue;,因此更新的操作时间将少于使用HttpSolrClient,其行为与此类似 – 一旦获得更新请求,它立即触发它.当然,我们信任文档,但是很容易得到这个答案,这就是我做一些性能测试的原因.

但是,首先我将描述客户端的不同操作.如果您正在使用SolrClient的添加操作,那么如果您要创建HttpSolrClient或ConcurrentUpdateSolrClient没有区别,因为两种方法都会这样做.如果您明确地执行UpdateRequest,ConcurrentUpdateSolrClient只会闪耀

索引维基百科标题的测试结果(code):

我的机器是:Intel i5-4670S 3.1 Ghz 16 Gb RAM

ConcurrentUpdateSolrClient (5 threads, 1000 queue size) - 200 seconds

ConcurrentUpdateSolrClient (5 threads, 10000 queue size) - 150 seconds

ConcurrentUpdateSolrClient (10 threads, 1000 queue size) - 100 seconds

ConcurrentUpdateSolrClient (10 threads, 10000 queue size) - 30 seconds

HttpSolrClient (no bulk) - 7000 seconds

HttpSolrClient (bulk 1000 docs) - 150 seconds

HttpSolrClient (bulk 10000 docs) - 80 seconds

摘要:

>如果您以类似的方式使用客户端,例如:client.add(doc);比,ConcurrentUpdateSolrClient执行速度至少快10-20倍,因为使用了ThreadPool和Queue(又称Bulk操作)>如果您正在使用HttpSolrClient,您仍然可以通过手动创建多个客户端,运行其他线程以及使用某些中间存储(如List)来模仿此行为.它肯定会提高性能,但需要额外的代码.>数字很可能没什么意义,但我希望它能给出一些原始的比较.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是由于缺少所需的类文件引起的。根据引用\[2\]中的描述,这个错误可能是由于项目中使用的httpclient版本与solrJ中的httpclient版本冲突导致的。你可以尝试以下解决方法: 1. 确保项目中使用的httpclient版本与solrJ中的httpclient版本兼容。可以查看项目的pom文件或者gradle文件,检查httpclient的版本是否与solrJ中的httpclient版本一致。 2. 如果版本一致,可以尝试在项目的pom文件或者gradle文件中排除solrJ中的httpclient依赖,以避免冲突。可以使用类似以下的代码来排除依赖: ``` <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>版本号</version> <exclusions> <exclusion> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </exclusion> </exclusions> </dependency> ``` 这样可以确保项目中使用的是项目自己指定的httpclient版本。 3. 如果以上方法都没有解决问题,可以尝试更新项目中使用的httpclient版本,或者尝试使用其他的http通信库替代httpclient。 希望以上方法能够帮助你解决问题。如果问题仍然存在,请提供更多的信息,以便我能够更好地帮助你。 #### 引用[.reference_title] - *1* [Caused by: java.lang.NoClassDefFoundError: org/apache/curator/framework/api/CuratorWatcher](https://blog.csdn.net/qq_38310244/article/details/115905479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [项目异常处理 java.lang.NoClassDefFoundError: org/apache/http/message/TokenParser](https://blog.csdn.net/YangFanJ/article/details/65937987)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值