【发布时间】:2012-01-26 15:25:29
【问题描述】:
我最近开始寻找 ElasticSearch 在我的 应用。我在Mysql中有我的数据库,大约有。 >2 百万 记录。我知道在 sphinx 中我们可以直接在任何 mysql 表列。我想知道它在 Elasticsearch 中是否可行, 如果不是直接,我们如何实现呢?
谢谢 莫希特
【问题讨论】:
标签: search elasticsearch
我最近开始寻找 ElasticSearch 在我的 应用。我在Mysql中有我的数据库,大约有。 >2 百万 记录。我知道在 sphinx 中我们可以直接在任何 mysql 表列。我想知道它在 Elasticsearch 中是否可行, 如果不是直接,我们如何实现呢?
谢谢 莫希特
【问题讨论】:
标签: search elasticsearch
在这种情况下,您有两个选择:-
【讨论】:
第 1 步:下载最新版本的 弹性搜索
Step-2:下载logstasch后需要安装jdbc插件
bin/plugin 安装 logstash-input-jdbc
第 3 步: 下载 mysql-jdbc 驱动程序...就像我下载的文件一样 名称是 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 用户密码 schedule 运行输入语句 每分钟。可用的调度选项语句 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
谢谢你,德布斯
【讨论】:
https://github.com/jprante/elasticsearch-river-jdbc 这样做。您可以使用“操作表”从 mysql 源同步数据。
第一次安装有点麻烦,但是可以用。
首先你必须安装插件 其次,您必须设置(配置)导入的数据
【讨论】:
像 Sphinx 一样,Elastic Search 中没有对 mysql 的原生支持(目前)。
Elastic Search 是一个很好的搜索选择,但您可能需要做一些自定义工作,以便在数据库中的项目发生更改时触发对它们的重新索引。具体如何实现将在很大程度上取决于您的应用程序。 Elastic Search 具有出色的近乎实时的搜索功能,并且已被 perform well under heavy indexing load 证明,因此触发重新索引对于大多数应用程序来说不应该是一个问题。
NoSQL movement 似乎也越来越受欢迎。 Some applications 使用 Elastic Search 作为唯一的数据存储。
【讨论】: