我正在尝试使用Java API创建MongoDB和ElasticSearch之间的新河流。使用REST API很容易通过以下JSON发出PUT请求
{
"type": "mongodb",
"mongodb": {
"servers": [
{ "host": "127.0.0.1", "port": 27017 }
],
"options": { "secondary_read_preference": true },
"db": "test",
"collection": "collectionTest"
},
"index": {
"name": "testIndex",
"type": "default"
}
}
但是我遇到了Java API的几个问题。我正在尝试使用CreateIndexRequestBuilder
类,但我不知道如何指定参数。
他们是自定义参数吗?来源怎么样?我很丢失......
提前谢谢!
答案 0 :(得分:4)
您需要向_meta
索引添加标识为_river
的文档。类型是您要为索引指定的名称。要发送的文档是一个包含河流所需配置的json。除了依赖于河流的自定义配置之外,json文档还需要包含属性type
,该属性包含河流本身用于注册RiverModule
的名称。对于mongodb河,它是mongodb
。您发布的json正是您必须发送的来源。
以下是您需要的代码:
client.index(Requests.indexRequest("_river").type("my_river").id("_meta").source(source)).actionGet();