2015-02-11 57 views
-1

即時通訊使用elasticsearch 1.4.2和mongodb 2.6.6以及elasticsearch的river插件可以從我的數據庫收集索引。但是,我只想索引前100個文件,而不是全部(有超過30,000個) 我該怎麼做?這裏是我的索引:索引從MongoDB到Elasticsearch的前100個文檔

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
    "type": "mongodb", 
    "mongodb": { 
    "db": "mydb", 
    "collection": "test" 
    }, 
    "index": { 
     "name": "mongoindex", 
     "type": "mongodb" 
    } 
}' 
+0

什麼排序定義「第一個」? – wdberkeley 2015-02-11 17:07:43

+0

@wdberkeley沒有特定的訂單。我只是想從文檔中抽取樣本進行測試,並且我沒有足夠的內存來存放所有文檔。 100個文件或更少應該足夠。所以即使結果是隨機的,它並不重要。 – 2015-02-11 20:19:04

回答

0

這是一個奇怪的使用案例,我不明白你爲什麼想這樣做,但你可以使用MongoDB中,河custom filters。將過濾器設置爲"{ "to_elastic_search" : true }",然後使用該過濾器在MongoDB中標記100個文檔:

> db.test.find().limit(100).forEach(function(doc) { 
    db.test.update({ "_id" : doc._id }, { "$set" : { "to_elastic_search" : true } }) 
}) 
+0

謝謝你的回答。我正在做這個測試。 – 2015-02-12 19:33:26