I'm pretty new to Elasticsearch and have tried my best to find whether it can help in my setup. I'm currently developing a web app (addon) on the top of WordPress. The app allows users to create resume as custom post type and store all the resume data into multiple custom fields.
To cut the long story short, I'm currently storing all my resume data as a JSON blob. So each row has resume ID and a big JSON blob that has all the resume related information viz. multiple skills and ratings, multiple education, multiple degrees etc. So, a typical entry looks like this:
I wish to make some of my data inside the jSON blob searchable and I'm wondering if Elasticsearch can help? This app is still under development so I can make changes to the way data is stored and queried.
Typical search case:
How many resumes are there with location = New York, Skills = Java with at least 5 years of experience.
Thanks @dadoonet- Could you tell me how exactly? I mean, how will elasticsearch handle my queries? All I know is that it will create its own index; but how will it extract the data from my JSON blobs?
I often use a resume as a good example of a rich document which particularly benefits from using elasticsearch's "nested" feature [1] for representing content.
Without a proper nested data model a search for a person with 5 year's of Java experience could match someone with 1 year of Java and 5 of Python. This is what we call the "cross-matching" problem that happens if you put complex data into the overly-simplistic model offered by most search engines [2].
Not all search problems require the "nested" feature but a resume is certainly a good example.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.