繁体   English   中英

Spark-elasticsearch 使用 spark 从 elasticsearch 中获取过滤记录

[英]Spark-elasticsearch fetch filtered records from elasticsearch using spark

我有一张地图,如下所示:

 Map("index1" -> List["a", "b", "c"])

我的弹性数据有一个名为“名称”的字段。 我想从 spark 查询弹性搜索并返回所有具有“a”、“b”、“c”作为“name”字段值的记录。

我不想对弹性查询中的名称进行硬编码。

 session.read.format("org.elasticsearch.spark.sql")
  .option("es.query", query)
  .load(indexName)

有人可以帮我构建一个接受字符串列表的动态查询。

 val listOfIds = List("a", "b")
 val strings = listOfIds.mkString("[\"", "\",\"", "\"]")
 val query = s"""{"query":{"filtered":{"query":{"match_all":{}},"filter": 
 {"terms":{"genres":${strings}}}}}"""

习惯了并解决了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM