@spinscale Thanks for the points.
Actually there are a couple of things that caught my attention and was wondering if you can help me understand
- "Just create a tags index, set the _id of the document to be the tag name and create one document per tag with a completion field " - Why set _id to tag name? Im guessing it is to ensure non-duplication of tags while indexing using op_type=create. Is it?
- "In fact I am not even sure you need a completion field for that if your index is separated, just use the prefix and fuzzy rewrite options on a keyword field to match your needs." - What is this about? Also, if we do not have a completion field we lose the optimization ES provides for auto suggest feature right?
- The last question I had was - what if I wanted to capture user search strings and use them as auto suggest tags. I can simply add search strings as well to this separate index. This part is ok. But, I would want more frequently searched terms/tags to be returned in preference to others. Im guessing the "weight" parameter for the tag can help. But how do I dynamically update weight for an existing tag? This one is puzzling me a lot !