MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Indeks wyszukiwania pełnotekstowego MongoDB:błąd:za dużo indeksu tekstowego, dlaczego?

MongoDB zezwala tylko na jeden indeks tekstowy na kolekcję.

Ale możesz użyć indeksu tekstowego, który obejmuje wiele pól:

db.collection.ensureIndex( {
    description: "text",
    title: "text"
} );

W ten sposób otrzymasz wyniki, gdy szukana fraza zostanie znaleziona w którymkolwiek z nich. Jeśli tego nie chcesz, na przykład gdy masz dwa zapytania wyszukiwania, z których każde zwraca wyniki z jednego pola, ale nie z drugiego, masz dwie opcje.

  1. użyj wielopolowego indeksu tekstowego, ale odrzuć wyniki, które pochodzą z niewłaściwego pola w warstwie aplikacji.
  2. wyodrębnij jedno z dwóch pól do innej kolekcji. Dokumenty w tej kolekcji mogą zawierać pełne kopie, zredagowane kopie lub tylko indeksowane pole i _id oryginalnego dokumentu.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pierwsze kroki z zarządzaniem użytkownikami MongoDB

  2. C# Mongo DeleteMany — bez użycia klasy

  3. MongooseError:Nie możesz wielokrotnie `mongoose.connect()` podczas połączenia

  4. Rejestrowanie audytu dla MongoDB

  5. Błąd mongodb instalacji brew:tchórzliwa odmowa `sudo brew install' Mac OSX Lion