我们决定在我们的产品中加入搜索引擎。并比较 ElasticSearch 和 Solr。当我们开始使用 Elastic 2.3.3 时。我们面临索引缓慢的问题。我们使用 Logstash 提供弹性数据,对包含 4000000 条记录的表进行索引需要 8 个多小时。表的物理大小接近 40GB。我们使用硬盘......是的,很遗憾。但是在同一台 PC 上,我们测试了 Solr,同样的操作需要 3 个小时。可能我们在elastic的配置上搞错了?而弹性的另一个时刻索引大小是表大小的两倍多,而 solr 索引只有 DB 大小的 8%。当我们使用 logstash 在文件中输出数据时,它会变得非常快。
这里我们为 elastic 的 logstash 的 jdbc 模块配置:
input {
jdbc {
jdbc_driver_library => "F:\elasticsearch-2.3.3\lib\sqljdbc_4.0\enu\sqljdbc4.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://s_tkachenko\mssql2014:49172;databaseName=work"
jdbc_user => "sa"
jdbc_password => "__masked_password__"
statement => "SELECT id, name FROM Contact"
}
}
我们只设置了 1 个分片,没有设置副本。
亲爱的社区,也许您有任何建议,因为只有在我们购买订阅后,对弹性的支持才会对我们有所帮助。但是购买订阅效果不佳的产品,我认为这不是一个好主意。感谢您的关注,等待您的想法。