Mongo не поддържа първоначално „временни“ колекции.
Типично нещо, което трябва да направите тук, е всъщност да не записвате целия изведен резултат в друга база данни, тъй като това би било напълно безсмислено, тъй като Elasticsearch извършва собствено кеширане като такова, че не се нуждаете от слой отгоре.
Освен това, поради проблеми с IO, обикновено е лоша идея да се напише, да речем, набор от резултати от 10k записа в Mongo или друга база данни.
Има заявка за функция за това, за което говорите:https://jira.mongodb.org/ преглед/SERVER-3215 но все още няма планиране.
Пример
Може да имате таблица с резултати.
В тази таблица ще имате документ, който изглежда така:
{keywords: ['bok', 'mongodb']}
Всеки път, когато търсите и превъртате през всеки резултатен елемент, вие ще пишете ред в тази таблица, попълвайки полето за ключови думи с ключови думи от този резултат от търсенето. Това ще бъде за резултат от търсене за списък с резултати от търсене за всяко търсене. Вероятно би било най-добре просто да предавате поточно всеки резултат от търсенето към MongoDB, когато идва. Никога не съм програмирал Python (въпреки че искам да науча), така че пример в псевдо:
var elastic_results = [{'elasticresult'}];
foreach(elastic_results as result){
//split down the phrases in this result and make a keywords array
db.results_collection.insert(array_formed_from_splitting_down_result); // Lets just lazy insert no need for batch or trying to shrink the amount of data to one go or whatever, lets just stream it in.
}
Така че, докато вървите по вашите резултати, вие просто масово вмъквате възможно най-бързо, създавайки нещо като "поток" от входни данни към MongoDB. Може да направи това доста добре.
След това това трябва да ви даде списък с думи и езикови глаголи, които можете да разделяте, за да обработвате неща като MR и други неща, за да събирате статистически данни за тях.
Без да знам повече и повече за вашия сценарий, това е най-добрият ми отговор.
Това не използва концепцията за временна таблица, а вместо това прави вашите данни постоянни, което звучи добре, тъй като искате да използвате Mongo като машина за съхранение за по-нататъшни задачи.