Ich habe versucht, die Funktion db.runCommand() zu verwenden, nur um festzustellen, dass der Textsuchbefehl in 3.x nicht funktioniert.So führen Sie die Textsuche in Mongo 3.x mit Java durch
In dem Mongo Shell dies funktioniert gut:
collection.find({"$text": {"$search":"some text"}})
Die nächste Idee war natürlich dann diese einfach zu nehmen und diese auf Java zu konvertieren.
collection.find(new Document("$text", new Document("$search", "some text")));
Es funktioniert nicht. Es wäre toll, einen Hinweis zu erhalten, wie man die Suche in Mongo 3.x mit dem Java-Treiber angehen kann.
WRONG: Es funktioniert. Aber es gibt immer noch ein Problem mit doppelten Anführungszeichen im Literaltext.
Ich habe mich anscheinend geirrt. Es funktioniert in Java. Eine literale Textsuche mit doppelten Anführungszeichen ist jedoch immer noch eine Herausforderung. Zum Beispiel Suche nach dem wörtlichen Vorkommen von Nickname: "Duke". Normalerweise müssen literale Suchen in \ "eingebettet werden \", aber was mit dem "innerhalb des Textes? – dexter