gpt4 book ai didi

scala - 使用 alpakka-elasticsearch 客户端进行 Elasticsearch 多查询

转载 作者:行者123 更新时间:2023-12-02 22:35:24 25 4
gpt4 key购买 nike

我是 scala 的新手,使用 alpakka-elasticsearch 客户端通过 Elasticsearch 执行查询。

单个搜索查询在内部调用 Elasticsearch 的 _search url 的以下两种方式下工作正常:

val writeCustomIndex = ElasticsearchSource
.typed[Book](
indexName = "source",
typeName = "_doc",
query = """{"match_all": {}}"""
)

val readWithSearchParameters = ElasticsearchSource
.typed[TestDoc](
indexName,
Some(typeName),
searchParams = Map(
"query" -> """ {"match_all": {}} """,
"_source" -> """ ["id", "a", "c"] """
)

我正在寻找的是使用此客户端执行以下多查询(_msearch)。

url - http://localhost:9200/index1/_msearch?
request :
[
{"query" : {"match_all" : {}}, "from" : 0, "size" : 1},
{"index" : "index2"},
{"query" : {"match_all" : {}}, "from" : 0, "size" : 2}
]

弹性客户端来源:https://doc.akka.io/docs/alpakka/current/elasticsearch.html

最佳答案

根据建议尝试了一种方法,我合并了两个来源。

希望,这可能对某人有所帮助!

 var elasticRecord: Future[Seq[ElasticRecord]] = ElasticsearchSource
.typed[ElasticRecord](
indexName1,
Some(typeName1),
query1,
settings = ElasticsearchSourceSettings()).map { message =>
message.source
}.merge(ElasticsearchSource
.typed[ElasticRecord](
indexName2,
Some(typeName2),
query1,
settings = ElasticsearchSourceSettings()).map { message =>
message.source
}).runWith(Sink.seq)

关于scala - 使用 alpakka-elasticsearch 客户端进行 Elasticsearch 多查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56644246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com