MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Stemming не работи правилно за MongoDB текстов индекс

След доста експерименти и чесане по главата открих причината за това поведение. Оказа се, че документите във въпросната колекция имат атрибут „език“. Очевидно наличието и стойността на този атрибут са направили тези документи неподлежащи на търсене. (Стойността се оказа „ENG“. Възможно е промяната й на „eng“ да направи този документ отново годен за търсене. Полето обаче служи за напълно различна цел). След като преименувах полето на „lang“, успях да намеря документа, съдържащ думата „кучета“, като потърсих „куче“ или „кучета“.

Чудя се дали това е очакваното поведение на MongoDB - че наличието на езиков атрибут в документа ще повлияе на търсенето на текст.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не мога да се свържа с MongoDB Atlas (queryTxt ETIMEOUT)

  2. mongoose findByIdAndDelete / findOneAndRemove не изтрива

  3. MongoDB намира диапазон от дати, ако се припокрива с други дати

  4. MongoDB не работи. ГРЕШКА:dbpath (/data/db) не съществува.

  5. mongodb php - как да направите заявка, подобна на INNER JOIN