Rails Tire

Hello, everyone!
This is my model:

models/business_center.rb:

mapping do
indexes :id, type: ‘integer’
indexes :name, type: ‘string’
indexes :address, type: ‘string’
indexes :offices_pub_count, type: ‘integer’
indexes :subtype_id, type: ‘integer’
indexes :offices_pub_retail_count, type: ‘integer’
indexes :metro_id, type: ‘integer’
indexes :area_id, type: ‘integer’
indexes :district_id, type: ‘integer’
indexes :latitude, type: ‘integer’
indexes :longitude, type: ‘integer’

indexes :offices do
indexes :id, type: ‘integer’
indexes :desc, type: ‘string’
indexes :floor, type: ‘string’
indexes :inner_info, type: ‘string’
indexes :decoration, type: ‘string’
indexes :fire_safety, type: ‘string’
indexes :air_conditioning, type: ‘string’
indexes :parking, type: ‘string’
indexes :planning, type: ‘string’
indexes :commercial_terms, type: ‘string’
indexes :operation_cost_id, type: ‘string’
indexes :retail, type: ‘boolean’

end

def as_indexed_json(options={})
to_json(methods: [:offices_pub_count],
include: {offices: { only:
[:text,:desc,:floor,:inner_info,:decoration,:fire_safety,:air_conditioning,:parking,:planning,
:commercial_terms,:operation_cost_id,
:retail]
}
}

def offices_pub_count
offices_pub.size
end

has_many :offices, :dependent => :destroy
has_many :offices_pub, class_name: ‘Office’, foreign_key:
‘business_center_id’, conditions: {published: true}
And next time I try search as:

BusinessCenter.search(:load => { :include => ‘offices’ }) do
query { string ‘*’ }
filter :term, “offices.retail” => true
end
and its get empty array

=> #<Tire::Results::Collection:0x0000000641fa90 @response={“took”=>4,
“timed_out”=>false, “_shards”=>{“total”=>5, “successful”=>5,
“failed”=>0},
“hits”=>{“total”=>0, “max_score”=>nil, “hits”=>[]}},
@options={:load=>{:include=>“offices”}, :size=>10}, @time=4, @total=0,
@facets=nil, @max_score=0.0, @wrapper=Tire::Results::Item>
Where I make mistake? How filtered request with attribute in has_many
model
(in my case its the Office)?

I saw many examples, but they are work with has_one or belongs_to
associations. Example in https://gist.github.com/karmi/3200212 now work.
Please, help me!)

On Tuesday, March 24, 2015 at 4:35:10 PM UTC, Андрей Молчанов wrote:

“hits”=>{“total”=>0, “max_score”=>nil, “hits”=>[]}},
@options={:load=>{:include=>“offices”}, :size=>10}, @time=4, @total=0,
@facets=nil, @max_score=0.0, @wrapper=Tire::Results::Item>
Where I make mistake? How filtered request with attribute in has_many
model (in my case its the Office)?

Have you checked what data was actually indexed? Also you may wish to
note
that tire is no longer supported

Fred