Ruby on rails 如何处理太阳黑子轨道中缺失的场?
我使用的是sunspot/rails版本2。它工作得很好,但我不知道如何处理缺少的字段。如果我没有纬度和经度,此代码将映射到0,0(靠近非洲):Ruby on rails 如何处理太阳黑子轨道中缺失的场?,ruby-on-rails,sunspot,sunspot-rails,Ruby On Rails,Sunspot,Sunspot Rails,我使用的是sunspot/rails版本2。它工作得很好,但我不知道如何处理缺少的字段。如果我没有纬度和经度,此代码将映射到0,0(靠近非洲): 我尝试使用两个搜索块,每个搜索块都有不同的条件,但太阳黑子只使用第一个可搜索块。我想做的是让缺少位置的东西仍然可以搜索,只是不能按位置搜索。我想到了一个解决办法,添加一个名为has_location或其他的布尔字段,然后在执行地理搜索时始终检查它。很糟糕,但它应该可以工作。是的,通常在可选条件之后我会进行if检查: searchable do te
我尝试使用两个搜索块,每个搜索块都有不同的条件,但太阳黑子只使用第一个可搜索块。我想做的是让缺少位置的东西仍然可以搜索,只是不能按位置搜索。我想到了一个解决办法,添加一个名为
has_location
或其他的布尔字段,然后在执行地理搜索时始终检查它。很糟糕,但它应该可以工作。是的,通常在可选条件之后我会进行if检查:
searchable do
text :resume, :stored => true
text :city, :boost => 5
latlon(:geo) { Sunspot::Util::Coordinates.new(latitude, longitude) } if latitude && longitude
# other conditions if needed
with(:another_field, condition_var) if condition_var
end
我在太阳黑子文档中找不到“何时”。你知道在哪里可以找到它吗?很抱歉,它应该是用找到的。
searchable do
text :resume, :stored => true
text :city, :boost => 5
latlon(:geo) { Sunspot::Util::Coordinates.new(latitude, longitude) } if latitude && longitude
# other conditions if needed
with(:another_field, condition_var) if condition_var
end