I've been reading through a lot of good documentation about how to implement Elastic Search on a website with javascript or PHP.

Very good introduction to ES.

Very complete documentation here and here.

A whole CRUD.

Elastic search with PHP: here, here, and here.

所以,我之所以给你们这些URL,是为了了解在拥有一个预先存在的SQL数据库时,如何使用一个或多个这些伟大的文档.

我在某个地方漏掉了重点:正如他们所说的Elasticsearch将使用MongoDB创建自己的索引和数据库,我不明白如何使用SQL来使用我的(巨型)数据库?假设我有一个MySQL数据库,我想使用Elasticsearch来加快我的搜索速度,并向用户提出预先准备的查询,我该怎么做呢?ES是如何在MySQL上/沿MySQL工作的?如何将这个巨大的数据集(超过8 GB)传输到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
    }
}'

Json相关问答推荐

将JSON输入子数组转换为字符串顺序列表输出

集成wix.comstore API|变音符号问题

解析Ansible AWS ec2_security_group中的json以提取安全组ID

交换键和数组值,将旧键转换为新数组值,使用 jq

使用 Powershell,如何将 Azure AD 组成员转换为 Json 对象(文件),然后可以更新?

基于JQ中另一个对象的值 Select 对象

如何使用 jq 将字符串数组转换为对象?

如何使用 serde_json 构建有状态的流式解析器?

如何在 Dart 中与多个 map (字典)相交

缺少所需的请求正文内容:org.springframework.web.method.HandlerMethod$HandlerMethodParameter

JSON 语法错误:'unexpected number' 或 'JSON.parse: expected ',' or '}' after property value in object'

在 Http Header 中使用 Json 字符串

Jackson 动态属性名称

如何使用 LWP 发出 JSON POST 请求?

我们可以使用 JSON 作为数据库吗?

Spring Security 和 JSON 身份验证

关于使用 $ref 的 JSON 模式

Jackson JSON序列化,通过级别定义避免递归

如何从 JSON 响应中提取单个值?

在 .NET 中缩小缩进的 JSON 字符串