река Монгодб для упругого поиска - PullRequest
3 голосов
/ 18 сентября 2011

Есть ли официальная река Монгодб, доступная для эластичного поиска?Я использую mongodb в node.js через модуль mogoose.Я видел один в http://www.matt -reid.co.uk / blog_post.php? Id = 68

Это правильный?Это говорит неофициально, хотя ...

Редактировать: похоже, https://github.com/aparo/elasticsearch имеет встроенный плагин mongodb. Есть ли какой-нибудь документ о том, как настроить это с mongodb и как mongodb передает данные для индексации вelasticsearch

Ответы [ 4 ]

4 голосов
/ 10 марта 2012

На github есть новая река MongoDB:

https://github.com/richardwilly98/elasticsearch-river-mongodb

1 голос
/ 28 сентября 2011

в соответствии с кодом вы можете указать несколько вещей, но отдельного документа нет (ожидайте одно обсуждение в списке рассылки):

https://github.com/aparo/elasticsearch/blob/master/plugins/river/mongodb/src/main/java/org/elasticsearch/river/mongodb/MongoDBRiver.java

https://github.com/aparo/elasticsearch/blob/master/plugins/river/mongodb/src/test/java/org/elasticsearch/river/mongodb/MongoDBRiverTest.java

0 голосов
/ 19 февраля 2016

Да, на github есть новая река MongoDB:

https://github.com/richardwilly98/elasticsearch-river-mongodb

Для дальнейшего объяснения. Вы можете выполнить следующие шаги:

Step.1: -Install

ES_HOME/bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/1.4.0 
ES_HOME/bin/plugin -install richardwilly98/elasticsearch-river-mongodb/1.4.0

Шаг 2: -Restart Elasticsearch

ES_HOME/bin/service/elasticsearch restart

Шаг 3: -Включаемые наборы реплик в mongodb

перейти к mongod.conf и добавить строку

replSet=rs0

сохранить и выйти

Перезапустить Mongod

Шаг 4: -Sellsesearch для индексации коллекции «person» в базе данных testmongo, введя следующую команду в вашем терминале

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
    "type": "mongodb", 
    "mongodb": { 
        "db": "testmongo", 
        "collection": "person"
    }, 
    "index": {
        "name": "mongoindex", 
        "type": "person" 
    }
}'

Шаг 5: -добавить некоторые данные в mongodb через терминал монго

use testmongo
var p = {firstName: "John", lastName: "Doe"}
db.person.save(p)

Шаг 6: -Используйте эту команду для поиска данных

curl -XGET 'http://localhost:9200/mongoindex/_search?q=firstName:John'

Примечание:

DELETE /_river

DELETE/_mongoindex

Снова запустите эту команду,

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
    "type": "mongodb", 
    "mongodb": { 
        "db": "testmongo", 
        "collection": "person"
    }, 
    "index": {
        "name": "mongoindex", 
        "type": "person" 
    }
}'

Step.7: - см. HQ Plugin

В mongoindex вы получите ваши данные.

0 голосов
/ 02 марта 2012

Это не тот ответ, который вы ищете. Я посмотрел на строительство этой реки Монго, но обнаружил, что в ней есть утечки памяти, и я не хотел возиться с кодом Java. Я написал свой собственный импортер mongo-> ES, используя массовый API.

Это работа в процессе, так что не стесняйтесь вносить свой вклад! :)

https://github.com/orenmazor/elastic-search-loves-mongo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...