initialize

in elasticsearch-model/lib/elasticsearch/model/searching.rb [34:60]


        def initialize(klass, query_or_payload, options={})
          @klass   = klass
          @options = options

          __index_name    = options[:index] || klass.index_name

          case
            
            when query_or_payload.respond_to?(:to_hash)
              body = query_or_payload.to_hash

            
            when query_or_payload.is_a?(String) && query_or_payload =~ /^\s*{/
              body = query_or_payload

            
            else
              q = query_or_payload
          end

          if body
            @definition = { index: __index_name, body: body }.update options
          else
            @definition = { index: __index_name, q: q }.update options
          end
        end