Timeline: when Elasticsearch 8 is released
New
Product.search("apples").where(in_stock: true).limit(10).offset(50) - see #1395 and relation branch (still need to merge certain options intuitively, show friendly error message when trying to call AR scope on Searchkick relation)mode: :async and mode: :queue with bulk reindexing - reindex_refactor branchsearch_as_you_type for instant search - search_as_you_type branch (on hold due to misspellings)rank_features type for conversions - conversions_v2 branch https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-rank-feature-query.html (todo: upgrade path)Breaking
relation branchshould_index? is false - #1424ArgumentError instead of RuntimeError for unknown operators.+ to non-anchored regular expressionsArgumentError (instead of warning) for invalid regular expression modifierssearch called on relationswordnet option (could remove first and re-add later)less_deps branchlike: [{_index: ..., _id: ...}] for similar recordsjapanese with japanese2Other
word_start and custom settings with merge_mappings (throw error?) - #1410ActiveSupport.on_load(:mongoid) for MongoidHashWrapper class - Result, Hit, Document (could still subclass HashWrapper for backward compatibility)reindex(update: :search_method) instead of reindex(:search_method) (warn on deprecated style)Maybe
relation.reindex load all records - use relation.in_batches.reindex to load in batchesreindex_now/reindex_later methodswith_score method to Searchkick::Resultsscope_results in place of loadBefore 5 (Searchkick 4.4)
What do you think about mirroring ES versions? i.e. When you support ES 8 bump version to 8.x.
Hey @jpaas, thanks for the suggestion. I don't see a strong reason to mirror Elasticsearch versions. The plan is for the latest version of Searchkick to always support the 2 most recent Elasticsearch versions.
Some ideas from recent use of searchkick (thanks!!!)
Hey @SteveC, thanks for the ideas!
search_import scope should help with N+1 queries for bulk reindexing if you haven't tried that.Edit: Think I found a way to do multi-word synonyms (synonyms_v2 branch), so will try to make this part of Searchkick 5.
No point in waiting for Searchkick 5. Reloadable, multi-word, search time synonyms are now available in Searchkick 4.4 :tada:
Most helpful comment
No point in waiting for Searchkick 5. Reloadable, multi-word, search time synonyms are now available in Searchkick 4.4 :tada:
https://github.com/ankane/searchkick#synonyms