ina*_*off 1 elasticsearch logstash logstash-jdbc
我们决定在我们的产品中包括搜索引擎。并比较ElasticSearch和Solr。当我们开始使用Elastic 2.3.3时。我们面临索引编制缓慢的问题。我们使用Logstash填充弹性数据,并且对具有4000000条记录的表进行索引花费了超过8个小时的时间。该表的物理大小接近40GB。我们使用HDD ...是的,很遗憾。但是在同一台PC上,我们测试了Solr,并且相同的操作花费了3个小时。也许我们在弹性配置上犯了一个错误?弹性的另一个瞬间索引大小比表大小大两倍,而solr索引仅是数据库大小的8%。当我们使用logstash在文件中输出数据时,它使速度非常快。
在这里,我们配置了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"
}
}
Run Code Online (Sandbox Code Playgroud)
我们只设置了1个分片,没有副本。
亲爱的社区,也许您有任何建议,因为只有在我们购买了订阅后,对Elastic的支持才会对我们有帮助。但是购买订购的产品根本不能用,我认为这不是一个好主意。感谢您的关注,等待您的想法。
index.refresh_interval: 30sindices.memory.index_buffer_size: 30%同时,您也可以在logstash中进行一些更改:
您还可以为elasticsearch输出插件指定输出工作程序计数和刷新操作:
output {
elasticsearch {
# elasticsearch hosts
hosts => ["127.0.0.1"]
# bulk message size
flush_size => 512
# output worker cpu core * 2
workers => 8
}
}
Run Code Online (Sandbox Code Playgroud)
希望其中一些帮助。
| 归档时间: |
|
| 查看次数: |
1780 次 |
| 最近记录: |