Hi,
I have scenario where I need to search for an Person whose employments are listed within its JSON. See below for the person JSON
{
"name": "David",
"workedAt: [
{
"name": "google",
"site":"google.com"
},
{
"name": "microsoft",
"site": "http://microsoft.com"
}
]
}
Now let say even the companies information is available to us as companies json
{
name: "Google",
description: "Google or GoogleInc is an internet company which primarily focusses on search engine and internet based ads. Google is also develops and owns the popular android platform."
}
Now when search for a person, my query provides a list of companies he has worked with. Its evident that there are hundreds of David's, but there may be only one David who worked in both google and microsoft which needs to come at the top of the search results.
To fine tune the results I want to use the company JSON as well, which contains more information about the company.
The problem here is I can't
- Model a many-to-many relationship in elastic search
- Do an application side join because I think we cannot reuse the relevance score from two different queries.
Since I do not have any past experience with search, I am finding it difficult to find an approach to this.
Any help on this will be deeply appreciated.