我最近开始寻找ElasticSearch来实现我的搜索 应用。我在Mysql中有我的数据库,大约有。 > 2分钟 记录。我知道在sphinx中我们可以直接在任何上创建一个索引 mysql表列。我想知道它是否可能在Elasticsearch中, 如果不是直接我们如何实现它?
由于 莫希特
答案 0 :(得分:4)
在Slasticx中,弹性搜索中的mysql没有本地支持(此时)。
弹性搜索是一个很好的搜索选项,但您可能需要做一些自定义工作,以便在项目更改时触发重新编制索引。具体如何实现将取决于您的应用程序。弹性搜索具有很好的近实时搜索功能,并且已被证明perform well under heavy indexing load,因此触发重建索引不应成为大多数应用程序的关注点。
NoSQL movement似乎也在增加动力。 Some applications使用Elastic Search作为唯一的数据存储。
答案 1 :(得分:4)
https://github.com/jprante/elasticsearch-river-jdbc这样做。您可以使用“操作表”同步来自mysql源的数据。
首次安装时有点棘手,但它确实有效。
首先你必须安装插件 其次,您必须设置(配置)导入的数据
答案 2 :(得分:0)
Step-1 :下载最新版本 弹性搜索
Step-2:下载logstasch后需要安装jdbc插件
bin / plugin install logstash-input-jdbc
步骤3:下载mysql-jdbc驱动程序...我下载了该文件 name是mysql-connector-java-5.1.36.jar。把这个文件放进去 logstash / drivers / mysql-connector-java-5.1.36.jar ....你可以把它 任何你想的地点都可以。但请记住这条路。
步骤4:现在创建一个db.conf文件并将其放在logstash中 目录...在我的情况下logstash-2.3.2 / logstash-jdbc.conf这里是 含量:
Jdbc输入参数说明
jdbc_driver_library jdbc库jdbc_driver_class JDBC的完整路径 要加载的驱动程序类,对于MySQL,它是com.mysql.jdbc.Driver jdbc_connection_string JDBC mysql连接字符串jdbc_user MySQL user jdbc_password MySQL用户密码计划运行输入语句 每分钟。可用调度选项语句MySQL语句 parameters要在MySQL语句中传递的参数
Jdbc输出参数说明
参数说明
index Elasticsearch索引名称
document_type Elasticsearch索引类型。
document_id弹性搜索文档ID
第5步:现在设置已完成。我们需要启动logstart。在此之前开始elasicsearch
然后启动logstsh并为配置$提供jadbc-db.conf文件 cd logstash-2.3.2 $ bin / logstash agent -f logstash-jdbc.conf
现在可以在弹性搜索中快速测试数据 http://localhost:9200/users/users/_search
谢谢你Debs
答案 3 :(得分:0)
在这种情况下,您有两个选择:-