Anyone used/using Algolia with Rails?
I need to set the name of my index dynamically based on an association in my model.
Example:
-> Indexing an article
-> Article belongs to Publication named dev
-> Index name should be set to dev
-> The new article gets added to the dev index
Any help, guys?
Top comments (3)
Unfortunately, dynamic index names are not supported. The gem actually needs them to be statically defined in your model in order to handle all the configuration (get/set settings) sync.
What you should do however, is relying a single index but tagging your records with their type. Then at query time, you can restrict the type of content you're looking for. You could also use
facetsbut since having the associated counts is not required,tagsare more efficient.I'd guess maybe you want to dip into Algolia Ruby instead of using the Rails gem functionality, which does everything at class level and doesn't take arguments per se.
You might want to look at whether dynamic index names is an anti-pattern with Algolia. I'm not sure but I could see maybe it being ill-advised for some reason. Do you need everything to be a separate index altogether or could you do this a different way?
Yeah, I ended up using a single index with
facetsfor filtering articles from a specific publication.