Mongodb 如何使用带有elasticsearch的mongo连接器进行自定义映射
我想连接mongodb和elasticsearch。我使用了mongo连接器来连接它们。我按照下面的说明链接到设置==> 我能够连接mongodb和elasticsearch。但默认情况下,MongoConnector在elasticsearch中为mongodb的所有数据库创建索引 我只想为我的一个数据库创建一个索引,并且只想插入文档的选定字段。例如:在mongo shell中==>Mongodb 如何使用带有elasticsearch的mongo连接器进行自定义映射,mongodb,
elasticsearch,Mongodb,
elasticsearch,我想连接mongodb和elasticsearch。我使用了mongo连接器来连接它们。我按照下面的说明链接到设置==> 我能够连接mongodb和elasticsearch。但默认情况下,MongoConnector在elasticsearch中为mongodb的所有数据库创建索引 我只想为我的一个数据库创建一个索引,并且只想插入文档的选定字段。例如:在mongo shell中==> use hotels db.restaurants.insert( { "address"
use hotels
db.restaurants.insert(
{
"address" : {
"street" : "2 Avenue",
"zipcode" : "10075",
"building" : "1480",
"coord" : [ -73.9557413, 40.7720266 ],
},
"borough" : "Manhattan",
"cuisine" : "Italian",
"grades" : [
{
"date" : ISODate("2014-10-01T00:00:00Z"),
"grade" : "A",
"score" : 11
},
{
"date" : ISODate("2014-01-16T00:00:00Z"),
"grade" : "B",
"score" : 17
}
],
"name" : "Vella",
"restaurant_id" : "41704620"
}
)
这将创建数据库酒店和集合餐厅。现在我想创建索引,我只想在elasticsearch中放置地址字段,搜索该索引
以下是我尝试过但不起作用的步骤:
首先,我启动mongo连接器,如下所示:
Imomadmins-MacBook-Pro:~ jayant$ mongo-connector -m localhost:27017 -t localhost:9200 -d elastic_doc_manager --oplog-ts oplogstatus.txt
Logging to mongo-connector.log.
然后从new shell选项卡中,我生成了如下命令:
curl -XPUT 'http://localhost:9200/hotels.restaurants/'
curl -XPUT "http://localhost:9200/hotels.restaurants/string/_mapping" - d'{
"string": {
"properties" : {
"address" : {"type" : "string"}
}
}
}'
但在elasticsearch中只创建了名为hotels.restaurants的索引。我看不到索引为hotels.restaurants的任何文档
请建议我如何为酒店、餐厅添加文档。我得到了问题的答案,在启动mongo connector时,我们可以指定集合名称和感兴趣的字段列表。请检查下面的命令==>
$ mongo-connector -m localhost:27017 -t localhost:9200 -d elastic_doc_manager --oplog-ts oplogstatus.txt --namespace-set hotels.restaurants --fields address,grades,name