Document Database Built-In Full-Text Search
Along with native Map Reduce, Auto-Indexing, and a first-class GUI, in RavenDB you also get Full-Text Search.
Full-Text Search: Software as Added Sideware (SaaS)
Accessories are a killer.
Take clothes, for example. A button-down and slacks should work. But to complete your image, you need sunglasses, a watch, a nice belt, a killer jacket, and anything else that sets you apart.
What about your phone? Every star needs its entourage:
- Portable Chargers
- Car Mounts
- Selfie Sticks
- Camera Lens Attachments
- Bluetooth Earbuds
- Gaming Controllers
- Cases and Covers
- Screen Protectors
- Portable Bluetooth Speakers
The extras always cost more. That’s why when you buy a phone, see how much the salesperson will throw in before taking out your money.
Software and added Sideware (SaaS)
A full-scale data solution is no different. It should minimize the number of add-ons you need.
Often, a database will fail miserably when it comes to creating indexes, setting up and maintaining aggregates, supporting a viable GUI, and enabling full-text search.
Even if the database does offer this “sideware”, you still have to develop additional code around it to work properly. You might even have to replace it with a third-party solution.
RavenDB knows that for a software layer, less is more. The fewer pieces you need in your application puzzle, the better it is for you and your users.
Along with native Map Reduce, Auto-Indexing, and a first-class GUI, RavenDB offers Full-Text Search.
Full-text search lets you look for words or phrases over multiple fields in a document or a file attachment to one.
A standard database search can be for all records where the field “employee name” = “Warren Buffett”.
But what if you want to see all mentions of “Tower of London”? How about asking your database to return all mentions of “hippopotamus” in a 500-page book?
With effective full-text search, you can do it.
You can put an entire book inside a text property in your document or you can put the book inside a pdf file, word file, or other attachment. RavenDB will take the content, index it, and search on it for you.
You get a Google-sized feature without requiring a Google-sized budget.
Find out more about Full-Text Search in RavenDB. Invite a developer to give you a live demo of our latest version.
Applications on Your Application
This works great for retail and commerce apps. Each product can be entered into a document. The document has a title, a description, even discounts or special deals. The text is stored in fields throughout the document.
When your user asks to see anything having to do with “tablets,” your full-text search engine will return documents with this term based on recall (which documents have the term) and relevancy (which documents best express the intent the user made when entering in the term).
RavenDB includes features that will look for documents that have synonyms of the term entered in. It will also search for terms with a single letter different from the entered term to account for any possible typos.
Another use is for a legal application. For example, a legal database can contain thousands of contracts, past court cases, and correspondence between various counsels. The ability to index these documents allows for fast searches on crucial pieces of information.
RavenDB finds the needle a lot faster, traversing the haystack in milliseconds.
Document Database Delivers Superior Performance
SQL solutions can include full-text search, but they are complex. To search, you have first to put together tables, then scan the entire system. In addition, indexes must be developed manually, saddling you with extra work.
Documents have everything in one place, making it easier to scan. In addition, RavenDB comes with automatic indexing, so your indexes are ready as soon as you start using your data. Full-text search is built-in and easy to use.
RavenDB creates indexes for you, and continuously updates your indexes the more you query your data. You don’t need to add on extra layers or divert development time from your app.
It all just works.