2015-02-11 2 views
-1

im using elasticsearch 1.4.2 и mongodb 2.6.6 И плагин реки для поиска elastics для индексации из коллекции из моей базы данных. Тем не менее, я хотел бы только проиндексировать первые 100 документов, а не все из них (их более 30 000) Как я могу это сделать? Вот мой индекс:Индекс первых 100 документов только от MongoDB до Elasticsearch

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

Какой порядок определяет «первый»? – wdberkeley

+0

@ wdberkeley Нет конкретного заказа. Мне просто нужен образец из документов для тестирования, и у меня недостаточно памяти для всех документов. 100 документов или менее должны быть достаточными. Поэтому, даже если результаты случайны, это не имеет большого значения. –

ответ

0

Это странное использование дело, и я не понимаю, почему вы хотите сделать это, но вы можете использовать custom filters в MongoDB-реке. Установите фильтр на что-то вроде "{ "to_elastic_search" : true }", затем отметьте 100 документов в MongoDB с этим фильтром:

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

Благодарим вас за ответ. Я делаю это для тестирования. –

Смежные вопросы