All Versions
25
Latest Version
Avg Release Cycle
149 days
Latest Release
197 days ago

Changelog History
Page 2

  • v0.8.0

    May 30, 2015

    πŸ’₯ Breaking changes:

    • :atomic and :urgent strategies are using import! method raising exceptions

    πŸ”„ Changes

    • Crutchesβ„’ technology

    • Added .script_fields chainable method to query (@ka8725)

    • update_index matcher mocha support (@lardawge)

    • :resque async strategy

    • :sidekiq async strategy (inspired by @sharkzp)

    • Added Query#search_type for search_type request option setup (@marshall-lee)

    πŸ›  Bugfixes

    • Rails 4.2 migrations are not raising UndefinedUpdateStrategy anymore on data updates

    • Mongoid random failing specs fixes (@marshall-lee)

  • v0.7.0

    March 25, 2015

    πŸ’₯ Breaking changes:

    • Chewy.use_after_commit_callbacks = false returns previous RDBMS behavior in tests

    • ActiveRecord import is now called after_commit instead of after_save and after_destroy

    • Import now respects default scope and removes unmatched documents

    • delete_from_index? method is deprecated, use

        define_type User, delete_if: ->{ removed? } do
          ...
        end
      
    • Chewy.request_strategy to configure action controller's request wrapping strategy

    • Chewy.root_strategy to configure the first strategy in stack

    • Default strategy for controller actions is :atomic

    • Default strategy for activerecord migrations is :bypass

    • Default strategy for sandbox console is :bypass

    • Default strategy for rails console is :urgent

    • Chewy.configuration was renamed to Chewy.settings

    • Reworked index update strategies implementation. Chewy.atomic and Chewy.urgent_update are now deprecated in favour of the new Chewy.strategy API.

    • Loading objects for object-sourced types using wrap method is deprecated, load_one method should be used instead. Or method name might be passed to define_type:

        class GeoData
          def self.get_data(elasticsearch_document)
            REDIS.get("geo_data_#{elasticsearch_document.id}")
          end
        end
      
        ...
          define_type GeoData, load_one_method: :get_data do
            ...
          end
      

    πŸ”„ Changes

    • Multiple enhancements by @DNNX

    • Added script_fields to search criteria (@ka8725)

    • ORM adapters now completely relies on the default scope. This means every scope or objects passed to import are merged with default scope so basically there is no need to define delete_if block. Default scope strongly restricts objects which may land in the current index.

        define_type Country.where("rating > 30") do
      
        end
      
        # this code would import only countries with rating between 30 and 50
        CountriesIndex::Country.import(Country.where("rating < 50"))
      
        # the same is true for arrays of objects or ids
        CountriesIndex::Country.import(Country.where("rating < 50").to_a)
        CountriesIndex::Country.import(Country.where("rating < 50").pluck(:id))
      
    • Object adapter supports custom initial import and load methods, so it could be configured to be used with procs or any class responding to call method.

        class GeoData
          def self.call
            REDIS.get_all
          end
        end
      
        ...
          define_type GeoData do
            ...
          end
      
    • Nested fields value procs additional arguments: parent objects.

        define_type Country do
          field :name
          field :cities do
            field :district, value: ->(city, country) { city.districts if country.main? }
          end
        end
      
    • Implemented basic named scopes

    πŸ›  Bugfixes

    • script_score allow options (@joeljunstrom)

    • Chewy indexes eaged loading fixes (@leemhenson)

    • Chewy::Index.import nil imports nothing instead of initial data

  • v0.6.2

    πŸ”„ Changes

    • document root id custom value option (@baronworks)

    πŸ›  Bugfixes

    • Removed decay function defaults (@Linuus)

    • Correct config file handling in case of empty file

  • v0.6.1

    πŸ”„ Changes

    • min_score query option support (@jshirley)

    • Chewy::Query#find method for finding documents by id

  • v0.6.0

    πŸ”„ Changes

    • Mongoid support YaY! (@fabiotomio, @leemhenson)

    • urgent: true option for update_index is deprecated and will be removed soon, use Chewy.atomic instead

    • timeout and timed_out support (@MarkMurphy)

    • will_paginate support (@josecoelho)

    πŸ›  Bugfixes

    • All the query chainable methods delegated to indexes and types (partially @Linuus)
  • v0.5.2

    πŸ’₯ Breaking changes:

    • Chewy::Type::Base removed in favour of using Chewy::Type as a base class for all types

    πŸ”„ Changes

    • Chewy.massacre aliased to Chewy.delete_all method deletes all the indexes with current prefix

    πŸ›  Bugfixes:

    • Advanced type classes resolving (@inbeom)

    • import ignores nil

  • v0.5.1

    πŸ”„ Changes:

    • chewy.yml Rails generator (@jirikolarik)

    • Parent-child mappings feature support (@inbeom)

    • Chewy::Index.total_count and Chewy::Type::Base.total_count

    • Chewy::Type::Base.reset method. Deletes all the type documents and performs import (@jondavidford)

    • Added Chewy::Query#delete_all scope method using delete by query ES feature (@jondavidford)

    • Rspec 3 update_index matcher support (@jimmybaker)

    • Implemented function scoring (@averell23)

    πŸ›  Bugfixes:

    • Indexed eager-loading fix (@leemhenson)

    • Field type deriving nested type support fix (@rschellhorn)

  • v0.5.0

    πŸ’₯ Breaking changes:

    πŸ”„ Changes:

    • suggest query options support (@rschellhorn).

    • Added hash data support. How it is possible to pass hashes to import.

    • rake chewy:reset and rake chewy:update paramless acts as rake chewy:reset:all and rake chewy:update:all respectively

    • Added delete_from_index? API method for custom deleted objects marking.

    • Added post_filter API, working the same way as filters.

    • Added chainable strategy query method.

    • Aliasing is performed in index create request for ElasticSearch >= 1.1.

    • preload scope method loads ORM/ODM objects in background.

    • load method :only and :except options to specify load types.

    • highlight and rescore query options support.

    • config/chewy.yml ERB support.

    πŸ›  Bugfixes:

    • Fixed missing and exists filters DSL constructors.

    • Reworked index data composing.

    • Support for Kaminari new PaginatableArray behavior (@leemhenson)

    • Correct waiting for status. After index creation, bulk import, and deletion.

    • Fix #23 "wrong constant name" with namespace models

  • v0.4.0

    • Changed update_index matcher behavior. Now it compare array attributes position-independently.

    • Search aggregations API support (@arion).

    • Chewy::Query#facets called without params performs the request and returns facets.

    • Added Type.template DSL method for root objects dynamic templates definition. See [mapping.rb](lib/chewy/type/mapping.rb) for more details.

    • ActiveRecord adapter custom primary_key support (@matthee).

    • Urgent update now clears association cache in ActiveRecord to ensure latest changes are imported.

    • import now creates index before performing.

    • Chewy.configuration[:wait_for_status] option. Can be set to red, yellow or green. If set - chewy will wait for cluster status before creating, deleting index and import. Useful for specs.

  • v0.3.0