Nadchodzące MongoDB 2.4 obsługuje full-text search.Wyszukiwanie pełnotekstowe w Pymongo
Robimy to w powłoce Mongo z polecenia, takie jak
db.players.runCommand("text", {
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit": 10})
Teraz przy przenoszeniu to pymongo, mamy do czynienia z faktem, że runCommand
nie jest zdefiniowany na pymongo Collection
klasie. Udało mi się dowiedzieć, co było komenda prawdziwy, więc pracował w powłoce:
db.runCommand({
"text": "players",
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit": 10})
którym pracował. Ale to nie mówi dokładnie, jak sprawić, by działało to w pymongo. Próbowałem:
db.command({
"text":"players",
"pipeline": [
("search","alice"), ("project",{"name":1,"_id":0}), ("limit",10)
]})
który nie działał (powiedział "nie znaleziono określonego"). Próbowałem również:
db.command({
"text": "players",
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit":10})
co oczywiście kończy się niepowodzeniem: "brak takiego cmd: projekt".
mogę dostać rzeczy do pracy, jeśli mogę użyć tylko search
i limit
np
db.command({
"text": "players",
"search": "alice",
"limit": 10})
ale chciałbym używać filter
i project
z pymongo. Czy ktoś znalazł wyszukiwanie pełnotekstowe pracujące z projektem i filtrem?
Pomyślnie: Może istnieje dobry sposób na określenie kształtu polecenia pymongo z polecenia powłoki?
Czy to praca dla regex, jak również? jak db.command ("regex", "players", search = "alice") – Jeff
Nie jestem zaznajomiony z komendą 'regex'. Nie pojawia się na [oficjalnej liście poleceń] (http://docs.mongodb.org/manual/reference/command/) z MongoDB. –