相关疑难解决方法(0)

在ElasticSearch中加入查询

有没有办法(查询)在ElasticSearch中加入以下2个JSON

{
product_id: "1111",
price: "23.56",
stock: "100"
}

{
product_id: "1111",
category: "iPhone case",
manufacturer: "Belkin"
}
Run Code Online (Sandbox Code Playgroud)

在Logstash中,在2种不同类型下处理(输入)2个JSON以上,因此它们的索引在Elasticsearch中提供了不同的"类型".

我想要的是在product_id字段上加入2个JSON.

elasticsearch logstash kibana

5
推荐指数
2
解决办法
1万
查看次数

将Spark Dataframe保存到Elasticsearch中 - 无法处理类型异常

我设计了一个简单的工作来从MySQL读取数据并将其保存在带有Spark的Elasticsearch中.

这是代码:

JavaSparkContext sc = new JavaSparkContext(
        new SparkConf().setAppName("MySQLtoEs")
                .set("es.index.auto.create", "true")
                .set("es.nodes", "127.0.0.1:9200")
                .set("es.mapping.id", "id")
                .set("spark.serializer", KryoSerializer.class.getName()));

SQLContext sqlContext = new SQLContext(sc);

// Data source options
Map<String, String> options = new HashMap<>();
options.put("driver", MYSQL_DRIVER);
options.put("url", MYSQL_CONNECTION_URL);
options.put("dbtable", "OFFERS");
options.put("partitionColumn", "id");
options.put("lowerBound", "10001");
options.put("upperBound", "499999");
options.put("numPartitions", "10");

// Load MySQL query result as DataFrame
LOGGER.info("Loading DataFrame");
DataFrame jdbcDF = sqlContext.load("jdbc", options);
DataFrame df = jdbcDF.select("id", "title", "description",
        "merchantId", "price", "keywords", "brandId", "categoryId");
df.show();
LOGGER.info("df.count : " + df.count());
EsSparkSQL.saveToEs(df, "offers/product");
Run Code Online (Sandbox Code Playgroud)

您可以看到代码非常简单.它将数据读入DataFrame,选择一些列,然后 …

elasticsearch apache-spark elasticsearch-hadoop apache-spark-1.5

4
推荐指数
1
解决办法
7693
查看次数

ElasticSearch 使用外键映射两个 sql 表

假设我有下表:

`title`
- id
- name
- tv_series_id

Example:
id=1, name="Episode 2", tv_series_id=4
Run Code Online (Sandbox Code Playgroud)

我可以使用以下 JSON 结构轻松地将其映射到 ElasticSearch 中:

{
    "ID": 1,
    "Name": "Episode 2",
    "TVSeriesID": 4
}
Run Code Online (Sandbox Code Playgroud)

如果我有第二个表,称为外键中引用tv_seriestitle表,例如:

`tv_series`
- id
- name

Example:
id=4, name='Friends'
Run Code Online (Sandbox Code Playgroud)

那么我将如何在 Elasticsearch 中映射这种关系?是否有一种通用方法可以在 Elasticsearch 中映射具有一个或多个外键关系的两个表?例如,通过执行某个连接语句?

sql elasticsearch

4
推荐指数
1
解决办法
3377
查看次数