• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
Bartenders:
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

Elasticsearch in Action: Question about Elasticsearch

 
Author
Posts: 114
11
Spring Tomcat Server Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have used MongoDB as a data store and wondered what advantages does storing data in elasticsearch have over 'dumping' data in a MongoDB collection?
 
author
Posts: 8
5
Firefox Browser VI Editor Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Alex,

I'm not super-familiar with what MongoDB has to offer (I have to catch up on that), but Elasticsearch's strongpoints are related to real-time search and analytics. Some example use-cases that fit Elasticsearch very well:
- log centralization. This is by far the most popular. You can drop lots of logs in there (or any other time-based data, really, could be metrics, for instance) and "grep" through them very quickly, and you can also do lots of statistics. If you want an example (this is actually a product I've been working on) go to https://apps.sematext.com/demo to the Logsene tab. Logsene is a logging SaaS with an Elasticsearch backend. You can click on the Kibana button there to explore logs through the open-source Kibana UI, which was built specifically for slicing and dicing logs stored in Elasticsearch. If you also heard about Logstash (that can mangle events on their way to Elasticsearch), together they make up what is called the "ELK stack", which is used by many for centralizing logs. There are lots of other tools in the logging ecosystem that work with Elasticsearch. rsyslog is one of them, I'm a big rsyslog fan
- social media. This is another kind of time-based data, but I'm putting it separately because you might have other search needs. Like stemming or fuzzy searches (or statistics - for example you may not want to count "search" and "searching" separately)
- product search. This is more towards the typical search engine case: you have a bunch of products, how do you build relevant search on top of that? Elasticsearch has tons of features in the way text is analyzed (i.e. make tokens from the original text and from the query string and match them) and the way you can run queries. For example, you can rank more exact matches higher, or you can rank newer or promoted products higher

Depending on your use-case, Elasticsearch may have advantages in the search/analytics performance area (because of the way it indexes everything) or in the search relevancy area. That's how I'd divide them, at least.
 
There is no "i" in denial. Tiny ad:
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
    Bookmark Topic Watch Topic
  • New Topic