Angenommen, ich möchte PDFs oder ePub-Dateien mit dem GridFS von MongoDB speichern. Ist es möglich, eine Volltextsuche in den Datendateien durchzuführen?Volltextsuche auf MongoDB GridFS?
Antwort
Sie sich derzeit nicht tun können echte Volltextsuche innerhalb von Mongo: hier http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo
Fühlen Sie sich frei dafür stimmen: https://jira.mongodb.org/browse/SERVER-380
Mongo skalierbare Daten mehr ein allgemeines ist speichern, und bis jetzt hat es keine Unterstützung für die Volltextsuche. Abhängig von Ihrem Anwendungsfall könnten Sie die Standard-B-Baum-Indizes mit einem Array aller Wörter im Text verwenden, aber es wird keine Stemming- oder Fuzzy-Übereinstimmungen usw. geben.
Allerdings würde ich empfehlen zu kombinieren Mongodb mit einer Lucene-basierten Anwendung (elastische Suche ist beliebt). Sie können alle Ihre Daten in mongodb (Binärdaten, Metadaten usw.) speichern und dann den einfachen Text Ihrer Dokumente in Lucene indizieren. Oder, wenn Ihr Anwendungsfall reine Volltextsuche ist, könnten Sie nur die elastische Suche anstelle von mongodb verwenden.
Update (April 2013): MongoDB 2.4 unterstützt jetzt einen grundlegenden Volltextindex! Einige nützliche Ressourcen unten.
http://docs.mongodb.org/manual/applications/text-search/
http://docs.mongodb.org/manual/reference/command/text/#dbcmd.text
http://blog.mongohq.com/blog/2013/01/22/first-week-with-mongodb-2-dot-4-development-release/
Nicht mit MongoDB APIs, nicht, dass ich weiß. GridFS scheint designed to be more like a simplified file system mit APIs zu sein, die eine direkte Schlüssel-Wert-Semantik bieten. Auf ihrer project ideas Seite Liste sie zwei Dinge, die Sie in produktionsbereiten Zustand, wenn existierte helfen würde:
- GridFS FUSE, die erlauben würden Sie GridFS als lokales Dateisystem zu mounten und dann indizieren, wie würden Sie Index Material auf Ihrem Festplatte
- Real-Time Volltextsuche Integration mit Tools wie Lucene und Solr. Es gibt einige Projekte auf github und bitbucket, die Sie vielleicht auschecken möchten.
Siehe auch ElasticSearch. Ich habe gesehen some integration with Mongo, aber ich bin mir nicht sicher, wie viel getan wurde to tap into the GridFS (GridFS Anhang Unterstützung wird erwähnt, aber ich habe nicht damit gearbeitet, um sicher zu wissen). Vielleicht werden Sie derjenige sein, der es baut und es dann öffnet? sollte ein lustiges Abenteuer
GridFS FUSE ist hoffnungslos veraltet. –
- 1. Abfrage auf MongoDB GridFS-Metadaten (Java)
- 2. MongoDB Volltextsuche
- 3. Mongodb base64 image vs gridfs
- 4. Node.js Datei-Upload (Express 4, MongoDB, GridFS, GridFS-Stream)
- 5. Sortierung mit MongoDB Volltextsuche
- 6. MongoDB Java API: Volltextsuche
- 7. MongoDB Volltextsuche + Workaround für Teilwortmatch
- 8. Mongo gridfs-stream
- 9. Speichern von Dateien in MongoDB GridFS mit Node.JS
- 10. MongoDB 3, Java-Treiber, Volltextsuche, wie?
- 11. MongoDB und Volltextsuche Teil des Wortes
- 12. Kopieren/Duplizieren von Dateien in MongoDB, GridFS und NodeJS
- 13. MongoDB GridFS Eins-zu-eins Abfrage Effizienz in Ruby
- 14. MongoDB, Carrierwave, GridFS und Verhinderung der Duplizierung von Dateien
- 15. Gridfs-Nginx vs Gridfs von Tornado
- 16. Löschen Sie mehrere Dateien in MongoDB GridFS in PHP
- 17. holen Sie ein Bild von Mongodb mit gridfs und PHP
- 18. Drop alle Dateien in gridfs mit pymongo MongoDB
- 19. Speicher von Dateien in mongodb mit gridfs und Mungo
- 20. GridFS benutze Dateiname als Index
- 21. Datei mit node.js, mongoose, gridfs-stream lesen
- 22. Lehre ODM GridFS Speicherressource
- 23. Wie wird das Textfeld in der mongodb Volltextsuche berechnet?
- 24. MySQL Volltextsuche auf JSON-Daten
- 25. Aktualisierung Metadaten für gridfs Dateiobjekt
- 26. Cassandra Volltextsuche
- 27. postgres Volltextsuche
- 28. RavenDB Volltextsuche
- 29. MongoDB als Dateispeicher
- 30. MySQL Volltextsuche?
MongoDB 2.4 unterstützt jetzt die Volltextsuche. –
Wahr. Ich nehme an, ich sollte das aktualisieren. –
MongoDB 2.6 hat nun eine Volltextsuche als Teil seiner regulären Abfrageoperatoren (bis 2.4 mussten Sie db.runCommand verwenden). Sie können jedoch innerhalb einer gridfs-Datei keine Suche durchführen. Sie sind nur binäre Brocken und Mongo behandelt sie nicht anders, wenn sie Teile eines Bildes oder Kapitel eines Lehrbuchs sind. – amenadiel