sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB fulltextsökning vs Lucene?

Utan att vandra in i ett långt ämne som förmodligen inte skulle lämpa sig för ett programmeringsforum, ska jag försöka täcka detta i grunden, men ändå försöka täcka punkterna.

Det viktigaste att tänka på när du hoppar in i en bred jämförelse är detta:"Hur fungerar 'XYZ' relationsdatabasmotorns fulltextsökning mot Lucene" .

Så om du tänker på det och har erfarenhet av de inbyggda "fulltext"-funktionerna i dessa produkter så är det de äpplen du bör jämföra med MongoDB "fulltext" äpplen.

Kort sagt, MongoDB erbjuder grundläggande fulltextfunktioner, inte mycket annorlunda än de som finns i relationsprodukter. Som nämnts i a:) , anläggningarna är nya, men bättre än vad som fanns innan, vilket var ingenting.

b:) , Lucene och derivat/motsvarigheter (Solr / ElasticSearch, etc) bör betraktas som ett helt annat djur. Där du behöver avancerad tokenisering och stemming, inbyggda faciliteter för "Mer som detta" och facettertal på sökningar. I dessa fall är den separata produkten en nödvändig nödvändighet.

Naturligtvis finns det flera lösningar för att indexera data från MongoDB-butiker i Lucene etc, och även att anpassa denna process är inte svårt. Men det är att upprätthålla en annan rörlig del i din infrastruktur.

Så jag ser inte det här som ett behov av att jämföra MongoDB textsökning med Lucene, eftersom i slutändan de finns för att göra olika saker, det är bara en fråga om vad du behöver för din ansökan. Välj den lösning som är bäst för dig.

Det enda att tillägga är att familjen Lucene (och derivat) är fantastiska produkter. Dra inte undan för att ge dem en chans, åtminstone för att utvärdera. Poängen från tidigare är att det finns mycket mer kraft där än någon "Standard Databas Text Search". Dessutom är administratörs- och inlärningskurvan i allmänhet "inte så svåra som du tror". Ha en pjäs, det kan vara värt att genomföra.



  1. Alla som arbetar med Mongodb-nyckeln kan inte innehålla . eller $?

  2. Hur man reaktivt aggregerar mongodb i meteor

  3. Auto-genererat fält för MongoDB med Spring Boot

  4. Hur man infogar flera dokument samtidigt i MongoDB via Java