首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从弹性搜索和MySQL中连接数据的最佳方式是什么?

问从弹性搜索和MySQL中连接数据的最佳方式是什么?
EN

Stack Overflow用户
提问于 2019-02-24 12:02:31
回答 2查看 586关注 0票数 0

我正在开发一个具有用户、弹性搜索中的数据和用户在MySQL中的cars数据的应用程序。

要求:用户的分页视图,特定状态的汽车,如下所示

视图

State:纽约

用户id 1 UserCar id 1

用户id 1 UserCar id 2

用户id 3 UserCar id 10

用户id 4 UserCar id 15

一个用户可以拥有任意数量的汽车。

我想到了以下两种方法。

1)从弹性搜索中获取给定状态下的所有用户,然后从MySQL中获取这些用户的所有车辆,然后根据页面号发送分割数据。

2)从弹性搜索中逐个获取用户,然后从MySQL中获取用户的车辆,并一直进行到达到该页面的记录数为止。

我认为上述两种方法都是低效的。做这件事最好的方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-02-24 12:19:54

我会从ES获得用户页面(只需一个页面),然后用DB提供的所需的cars信息来丰富它,只需要相关的汽车。

为了加快汽车浓缩的第二阶段,我建议有一个缓存--无论是内存中的完整DB,还是仅仅是LRU。

因此,一个从正确页面的ES中获取,并在内存中丰富相关的汽车。这应该是有效的。

票数 0
EN

Stack Overflow用户

发布于 2019-02-24 18:06:42

如果您想要在浏览器上创建user cars表,那么使用极限和偏移从MYSQL获取那些cars数据与用户-cars关系表的连接。在这里,我假设您正在使用服务器端datatable。

然后从ES中获取特定用户的数据,因为从ES获取数据更快。接下来,从客户端,您需要使用JS追加或更新表列。

ES查询应如下所示:

代码语言:javascript
复制
GET /users/_search
{
    "query" : {
        "constant_score" : {
            "filter" : {
                "terms" : { 
                    "id" : [1, 2, 3]
                }
            }
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54851687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档