Skip to content

Latest commit

 

History

History
87 lines (68 loc) · 2.61 KB

README.md

File metadata and controls

87 lines (68 loc) · 2.61 KB

MongoDB River Plugin for ElasticSearch

-----------------------------------------------
| MongoDB River Plugin     | ElasticSearch    |
-----------------------------------------------
| master                   | 0.19.8 -> master |
-----------------------------------------------
| 1.3.0                    | 0.19.4           |
-----------------------------------------------
| 1.2.0                    | 0.19.0           |
-----------------------------------------------
| 1.1.0                    | 0.19.0           |
-----------------------------------------------
| 1.0.0                    | 0.18             |
-----------------------------------------------

Initial implementation by aparo

Modified to get the same structure as the others Elasticsearch river (like CouchDB)

The latest version monitor oplog capped collection and support attachment (GridFS).

For the initial implementation see tutorial

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{
	"type": "mongodb", 
	"mongodb": { 
		"db": "DATABASE_NAME", 
		"collection": "COLLECTION", 
		"gridfs": true
	}, 
	"index": { 
		"name": "ES_INDEX_NAME", 
		"type": "ES_TYPE_NAME" 
	}
}'

Example:

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

Import data from mongo console:

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

Query index:

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

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

Import binary content in mongo:

%MONGO_HOME%\bin>mongofiles.exe --host localhost:27017 --db testmongo --collection files put test-document-2.pdf
connected to: localhost:27017
added file: { _id: ObjectId('4f230588a7da6e94984d88a1'), filename: "test-document-2.pdf", chunkSize: 262144, uploadDate: new Date(1327695240206), md5: "c2f251205576566826f86cd969158f24", length: 173293 }
done!

Query index:

curl -XGET 'http://localhost:9200/files/4f230588a7da6e94984d88a1?pretty=true'

See more details check the wiki