Overview:
- Configure an Elasticsearch index and two types for optimal performance (provide config file).
- Provide queries to retrieve data per sections described below.
- I will provide you access to an Elasticsearch server with mock data.
Task 1 - Question #1:
I have one index called "bloom" and two types called "items" and "purchases".
Performance wise, is it better to create a separate index for each type? I plan to have +100,000 items and millions of "purchases".
Search #1:
The items type contains an "id" and a "name" property/field. The "name" property contains content such as:
Canadian Bacon, 16 oz
Jimmy Dean Bacon Breakfast Skillets Meal - Bacon, 18 oz
Great Value Smoked Bacon, 2.1 oz
Plumrose Premium Bacon, 16 oz
Great Value Bacon Turkey, 12 oz
Plumrose Peppered Maple Bacon, 16 oz
Plumrose Thick Sliced Bacon, 12 oz
Hormel Real Bacon Bits, 3 oz
Farmland Hickory Smoked Bacon, 16 oz
Lykes Hardwood Smoked Bacon, 12 oz
Farmland Hickory Smoked Bacon, 3 lb
Plumrose Premium Bacon, 12 oz
Smithfield Premium Sliced Bacon, 16 oz
Sunnyland Hardwood Smoked Bacon, 12 oz
Kraft Bacon & Cheddar Dip, 16 oz
Bacon Sliced Applewood, 1 lb
Plumrose Applewood Bacon, 12 oz
Plumrose Thick Sliced Bacon, 16 oz
Task 2: provide query
i) I would like to perform a search with name = "Bacon Smoked" and returns items:
Great Value Smoked Bacon, 2.1 oz
Farmland Hickory Smoked Bacon, 16 oz
Lykes Hardwood Smoked Bacon, 12 oz
Farmland Hickory Smoked Bacon, 3 lb
Sunnyland Hardwood Smoked Bacon, 12 oz
Task 3: provide query
ii) I would like to perform a search with name = "Bacon Smoked 12" and returns items:
Lykes Hardwood Smoked Bacon, 12 oz
Sunnyland Hardwood Smoked Bacon, 12 oz
Task 4: provide query
iii) I would like to perform a search with name = "Lykes 12" and returns item:
Lykes Hardwood Smoked Bacon, 12 oz
Search #2:
The purchases type contains the following properties:
name: {type: "string"}, <-- identical to "name" in items
id: {type: "string"}, (unique id)
itemId: {type: "string"}, <-- identical to "id" in items
categoryId: {type: "string"},
shelf: {type: "integer"},
location: {type: "geo_point"}
Task 5: provide query
i) I would like to perform a search with name = "Bacon Smoked" and categoryId = id122 and returns items: (see file [login to view URL])
Task 6: provide query
ii) I would like to perform a search with name = "Bacon Smoked", categoryId = id122, and shelf = 1 and returns items: (see file [login to view URL])
Task 7: provide query
iii) I would like to perform a search with name = "Bacon Smoked", categoryId = id122, and shelf > 2 and returns items: (see file [login to view URL])
Task 8: provide query
iv) I would like to perform a search with name = "Bacon Smoked", shelf = 1, and [lat, lon] = [35.02, -120.02] and return all items near: (see file [login to view URL])
Task 9: provide query
v) I would like to perform a search with name = "Bacon Smoked", shelf > 2, and [lat, lon] = [35.02, -120.02] and return all items near: (see file [login to view URL])
Task 10: provide index and types configuration:
I've constructed the index and types using the uploaded configuration file. The configuration is incorrect, I just copied and pasted stuff from other sources. . Can you please provide the index and type configurations to achieve the most optimal queries listed above.
Good day, I have related skills and relevent previous experience with Elasticsearch. I'd glad to do your project. Feel free to write me if you have any questions