如何在预先存在的SQL数据库之上使用Elastic Search?

2021/01/01 00:41 · php ·  · 0评论

我已经阅读了很多有关如何使用javascript或PHP在网站上实现Elastic Search的很好的文档。

ES很好的介绍

这里这里的文档都很完整

整个CRUD

使用PHP进行弹性搜索:此处此处此处

因此,我为您提供这些URL的原因是为了了解在拥有预先存在的SQL DB时如何使用一个或多个出色的文档。

我在某处缺少要点:正如他们所说的,Elasticsearch将使用MongoDB创建自己的索引和数据库,我不知道如何使用SQL使用我的(大型)数据库?假设我有一个MySQL数据库,并且我想使用Elasticsearch加快研究速度并提出用户预制查询,我该怎么做?ES如何在MySQL之上/沿MySQL工作?如何将这组巨大的数据集(超过8GB)传输到ES DB中,以便在一开始就完全有效?

非常感谢

我正在使用jdbc-river w / mysql。非常快。您可以将它们配置为连续轮询数据,或使用一次性(单次策略)导入。

例如

curl -xPUT http://es-server:9200/_river/my_river/_meta -d '
{
    "type" : "jdbc",
    "jdbc" : {
        "strategy" : "simple",
        "poll" : "5s",
        "scale" : 0,
        "autocommit" : false,
        "fetchsize" : 10,
        "max_rows" : 0,
        "max_retries" : 3,
        "max_retries_wait" : "10s",
        "driver" : "com.mysql.jdbc.Driver",
        "url" : "jdbc:mysql://mysql-server:3306/mydb",
        "user" : "root",
        "password" : "password*",
        "sql" : "select c.id, c.brandCode, c.companyCode from category c"
    },
    "index" : {
        "index" : "mainIndex",
        "type" : "category",
        "bulk_size" : 30,
        "max_bulk_requests" : 100,
        "index_settings" : null,
        "type_mapping" : null,
        "versioning" : false,
        "acknowledge" : false
    }
}'

如果您需要对jdbc-river提供的轮询具有更高性能和可伸缩性的解决方案,建议您观看此演示文稿,其中介绍了如何执行从SQL Server到Elastic Search的增量同步:

视频中讨论的原理也适用于其他RDBMS-> NoSQL复制应用程序。

本文地址:http://php.askforanswer.com/ruhezaiyuxiancunzaidesqlshujukuzhishangshiyongelastic-search.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!