Udy*_*Udy 5 scala elasticsearch apache-spark elasticsearch-hadoop
我正在尝试elasticsearch使用elasticsearch-spark连接器进行查询,但我只想返回几个结果:
例如:
val conf = new SparkConf().set("es.nodes","localhost").set("es.index.auto.create", "true").setMaster("local")
val sparkContext = new SparkContext(conf)
val query = "{\"size\":1}"
println(sparkContext.esRDD("index_name/type", query).count())
Run Code Online (Sandbox Code Playgroud)
但是,这将返回索引中的所有文档。
如果我理解正确的话,您正在执行计数操作,它不会返回任何文档。1您是否希望它会因为您指定而返回size: 1?这并没有发生,这是设计使然。
编辑添加:count()这是elasticsearch-hadoop中
的定义:
override def count(): Long = {
val repo = new RestRepository(esCfg)
try {
return repo.count(true)
} finally {
repo.close()
}
}
Run Code Online (Sandbox Code Playgroud)
它根本不考虑查询,而是将整个ES索引视为RDD输入。
| 归档时间: |
|
| 查看次数: |
1224 次 |
| 最近记录: |