Meine Sammlung aussieht:MongoDB Textsuche auf verschiedenen Feldern
{ _id: 1, author: "Jack London", bookName: "The Sea-Wolf" }
{ _id: 2, author: "Alex Kershaw", bookName: "Jack London" }
Ich möchte in der Lage zu suchen, indem Autor oder durch Bookname nur, aber MongoDB ermöglicht es Ihnen, nur 1 Textindex zu erstellen. Danke für die Hilfe.
Beispiel: Ich will nur für Autor suchen:
db.collection.find({$text:{$search:"Jack London"}})//search in 'author' field
Oder von Booknamen nur:
db.collection.find({$text:{$search:"Jack London"}})//search in 'bookName' field
Wenn ich Verbindung Index {author: "text", bookName: "text"}
es habe uns beiden Einträge zurückgeben, was nicht ist was ich möchte.
Ich habe große Sammlung wird es ‚Alter‘ nimmt diese Anforderung zu verarbeiten. – Popeye
Regex kann auch Index verwenden. Hast du versucht ? https://docs.mongodb.com/manual/reference/operator/query/regex/. Übrigens glaube ich nicht, dass es mit Textsuche möglich ist. – Veeram
hast du ein beispiel? – Popeye