- Added
_allanddefault_fieldsoptions - Added global
index_prefixoption - Added
waitoption to async reindex - Raise error for
reindex_statuswhen Redis not configured
- Added support for
reindex(async: true)for non-numeric primary keys - Added
conversions_termoption - Added support for passing fields to
suggestoption - Fixed
page_view_entriesfor Kaminari
- Fixed analyzer on dynamically mapped fields
- Fixed error with
similarmethod and_allfield - Throw error when fields are needed
- Added
queue_nameoption - No longer require synonyms to be lowercase
- Added
avg,cardinality,max,min, andsumaggregations - Added
load: {dumpable: true}option - Added
index_suffixoption - Accept string for
excludeoption
- Fixed bug with text values longer than 256 characters and
_allfield - see #850 - Fixed issue with
_allfield insearchable - Fixed
excludeoption withword_start
- Fixed duplicate notifications
- Added support for
connection_pool - Added
excludeoption
- Background reindexing and queues are officially supported
- Log updates and deletes
- Added support for queuing updates [experimental]
- Added
refresh_intervaloption toreindex - Prefer
search_indexoversearchkick_index
- Added
asyncoption toreindex[experimental] - Added
misspellings?method to results
- Added
retainoption toreindex - Added support for attributes in highlight tags
- Fixed potentially silent errors in reindex job
- Improved syntax for
boost_by_distance
- Added
search_hitandsearch_highlightsmethods to models - Improved reindex performance
- Added support for
reindexon associations
Breaking changes
- Removed support for Elasticsearch 1 as it reaches end of life
- Removed facets, legacy options, and legacy methods
- Invalid options now throw an
ArgumentError - The
queryandjsonoptions have been removed in favor ofbody - The
includeoption has been removed in favor ofincludes - The
personalizeoption has been removed in favor ofboost_where - The
partialoption has been removed in favor ofoperator - Renamed
select_v2toselect(legacyselectno longer available) - The
_allfield is disabled ifsearchableoption is used (for performance) - The
partial_reindex(:method_name)method has been replaced withreindex(:method_name) - The
unsearchableandonly_analyzedoptions have been removed in favor ofsearchableandfilterable load: falseno longer returns an array in Elasticsearch 2
- Added
client_options - Added
refreshoption toreindexmethod - Improved syntax for partial reindex
- Added support for geo shape indexing and queries
- Added
_and,_or,_nottowhereoption
- Added support for directional synonyms
- Easier AWS setup
- Fixed
total_docsmethod for ES 5+ - Fixed exception on update errors
- Added
partial_reindexmethod - Added
debugoption tosearchmethod - Added
profileoption
- Official support for Elasticsearch 5
- Boost exact matches for partial matching
- Added
searchkick_debugmethod - Added
geo_polygonfilter
- Fixed
Job adapter not founderror
- Added support for Elasticsearch 5.0 beta
- Added
request_paramsoption - Added
filterableoption
- Added
resumeoption to reindex - Added search timeout to payload
- Fix for namespaced models (broken in 1.3.2)
- Added
body_optionsoption - Added
date_histogramaggregation - Added
indices_boostoption - Added support for multiple conversions
- Fixed error with Ruby 2.0
- Fixed error with indexing large fields
- Added support for Elasticsearch 5.0 alpha
- Added support for phrase matches
- Added support for procs for
index_prefixoption
- Added
multi_searchmethod - Added support for routing for Elasticsearch 2
- Added support for
search_document_idandsearch_document_typein models - Fixed error with instrumentation for searching multiple models
- Fixed instrumentation for bulk updates
- Fixed deprecation warnings with
alias_method_chain - Added
analyzed_onlyoption for large text fields - Added
encoderoption to highlight - Fixed issue in
similarmethod withper_pageoption - Added basic support for multiple models
- Added bulk updates with
callbacksmethod - Added
bulk_deletemethod - Added
search_timeoutoption - Fixed bug with new location format for
boost_by_distance
- Added support for
{lat: lat, lon: lon}as preferred format for locations
- Added
belowoption to misspellings to improve performance - Fixed synonyms for
word_*partial matches - Added
searchableoption - Added
similarityoption - Added
matchoption - Added
wordoption - Added highlighted fields to
load: false
- Added support for Elasticsearch 2.1
- Throw
Searchkick::ImportErrorfor errors when importing records - Errors now inherit from
Searchkick::Error - Added
orderoption to aggregations - Added
mappingmethod
- Added aggregations method to get raw response
- Use
execute: falsefor lazy loading - Return nil when no aggs
- Added emoji search
- Added support for Elasticsearch 2.0
- Added support for aggregations
- Added ability to use misspellings for partial matches
- Added
fragment_sizeoption for highlight - Added
tookmethod to results
Breaking changes
- Raise
Searchkick::DangerousOperationerror when calling reindex with scope - Enabled misspellings by default for partial matches
- Enabled transpositions by default for misspellings
andnow matches&- Added
transpositionsoption to misspellings - Added
boost_modeandlogoptions toboost_by - Added
prefix_lengthoption tomisspellings - Added ability to set env
- Much better performance for where queries if no facets
- Added basic support for regex
- Added support for routing
- Made
Searchkick.disable_callbacksthread-safe
- Fixed Mongoid import
- Added support for NoBrainer
- Added
stem_conversions: falseoption - Added support for multiple
boost_wherevalues on the same field - Added support for array of values for
boost_where - Fixed suggestions with partial match boost
- Fixed redefining existing instance methods in models
- Added support for Elasticsearch 1.4
- Added
unsearchableoption - Added
select: trueoption - Added
bodyoption
- Added
boost_by_distance - More flexible highlight options
- Better
envlogic
- Added support for ActiveJob
- Added
timeoutsetting - Fixed import with no records
- Added
asynctocallbacksoption - Added
wordnetoption - Added
edit_distanceoption to eventually replacedistanceoption - Catch misspelling of
misspellingsoption - Improved logging
- Added
search_method_nameoption - Fixed
orderfor array of hashes - Added support for Mongoid 2
- Added support for Elasticsearch 1.2
- Added
tokensmethod - Added
jsonoption - Added exact matches
- Added
prev_pagefor Kaminari pagination - Added
importoption to reindex
- Added
boost_byandboost_whereoptions - Added ability to boost fields -
name^10 - Added
selectoption forload: false
- Added support for automatic failover
- Fixed
operatoroption (and default) for partial matches
- Added
statsoption to facets - Added
paddingoption
- Do not throw errors when index becomes out of sync with database
- Added custom exception types
- Fixed
offsetandoffset_value
- Fixed reindex with inheritance
- Fixed multi-index searches
- Fixed suggestions for partial matches
- Added
offsetandlengthfor improved pagination
- Added smart facets
- Added more fields to
load: falseresult - Fixed logging for multi-index searches
- Added
first_page?andlast_page?for improved Kaminari support
- Fixed huge issue w/ zero-downtime reindexing on 0.90
- Added support for Elasticsearch 1.1
- Dropped support for Elasticsearch below 0.90.4 (unfortunate side effect of above)
- Removed patron since no support for Windows
- Added error if
searchkickis called multiple times
- Added logging
- Fixed index_name option
- Added ability to use proc as the index name
- Fixed huge issue w/ zero-downtime reindexing on 0.90 and elasticsearch-ruby 1.0
- Restore load: false behavior
- Restore total_entries method
- Moved to elasticsearch-ruby
- Added support for modifying the query and viewing the response
- Added support for page_entries_info method
- Fixed bug w/ word_* queries
- Use after_commit hook for ActiveRecord to prevent data inconsistencies
- Replaced stop words with common terms query
- Added language option
- Fixed bug with empty array in where clause
- Fixed bug with MongoDB integer _id
- Fixed reindex bug when callbacks disabled
- Better control over partial matches
- Added merge_mappings option
- Added batch_size option
- Fixed bug with nil where clauses
- Added
should_index?method to control which records are indexed - Added ability to temporarily disable callbacks
- Added custom mappings
- Fixed issue w/ inheritance mapping
- Added support for Mongoid 4
- Added support for multiple locations
- Added facet ranges
- Added all operator
- Added highlighting
- Added :distance option to misspellings
- Fixed issue w/ BigDecimal serialization
- Better error messages
- Added where: {field: nil} queries
- Added support for single table inheritance
- Removed Tire::Model::Search
- Added index_prefix option
- Fixed ES issue with incorrect facet counts
- Added option to turn off special characters
- Fixed reversed coordinates
- Added bounded by a box queries
- Expanded
orqueries
- Added option to disable callbacks
- Fixed bug with facets with Elasticsearch 0.90.5
- Added limit to facet
- Improved similar items
- Added option to disable misspellings
- Added geospartial searches
- Create alias before importing document if no alias exists
- Fixed exception when :per_page option is a string
- Check
RAILS_ENVifRACK_ENVis not set
- Use
to_hashinstead ofas_jsonfor defaultsearch_datamethod - Works for Mongoid 1.3
- Use one shard in test environment for consistent scores
- Setup Travis
- Clean old indices before reindex
- Search for
*returns all results - Fixed pagination
- Added
similarmethod
- Clean old indices after reindex
- More expansions for fuzzy queries
- Added Rails logger
- Only fetch ids when
load: true
- Added autocomplete
- Added “Did you mean” suggestions
- Added personalized searches
- Bug fix
- Changed edit distance to one for misspellings
- Raise errors when indexing fails
- Fixed pagination
- Fixed :include option
- Launch