我正在尝试将一串 JSON 数据传递到这样的索引语句中,其中 inputDoc 是我的 JSON 字符串:
def Update(client: ElasticClient, idx:String, `type`: String, inputDoc: String): Unit = {
val address = idx + "/" + `type`
client.execute {
index into address doc inputDoc
}
}
我收到一个无法解析 doc 的编译器错误,我假设是因为它正在寻找 DocumentSource 或 DocumentMap 而不是我传递的字符串。
根据此文档,在我看来,我应该能够传递杰克逊将编组为 JSON 的字符串。不过,基于这个线程,在我看来,elastic4s 不支持在不为其创建模板的情况下对 JSON 字符串进行索引。
我的问题有两个:1)是否可以在不创建案例类来映射数据的情况下索引 JSON 字符串?2)如果可能的话,是否可取?还是因为最好知道我正在索引的数据的结构而不是仅仅添加一个我不一定检查过的 JSON 字符串而气馁?
我正在使用 ElasticSearch 2.1.1 版。这是我的 elastic4s 依赖项:
"com.sksamuel.elastic4s" %% "elastic4s-core" % "2.1.1"