Tôi có một ứng dụng Rails được thiết lập với ElasticSearch và Tyre để tìm kiếm trên một mô hình và tôi đã tự hỏi làm thế nào tôi nên thiết lập ứng dụng của tôi để làm chuỗi mờ khớp với một số chỉ mục nhất định trong mô hình. Tôi có mô hình của tôi thiết lập để lập chỉ mục về những thứ như tiêu đề, mô tả, vv nhưng tôi muốn làm phù hợp chuỗi mờ trên một số trong những người và tôi không chắc chắn nơi để làm điều này tại. Tôi sẽ bao gồm mã của tôi dưới đây nếu bạn muốn bình luận! Cảm ơn!Chuỗi mờ phù hợp với Rails (Tire) và ElasticSearch
Trong bộ điều khiển:
def search
@resource = Resource.search(params[:q], :page => (params[:page] || 1),
:per_page =>15, load: true)
end
Trong Model:
class Resource < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
belongs_to :user
has_many :resource_views, :class_name => 'UserResourceView'
has_reputation :votes, source: :user, aggregated_by: :sum
attr_accessible :title, :description, :link, :tag_list, :user_id, :youtubeID
acts_as_taggable
mapping do
indexes :id, :index => :not_analyzed
indexes :title, :analyzer => 'snowball', :boost => 40
indexes :tag_list, :analyzer => 'snowball', :boost => 8
indexes :description, :analyzer => 'snowball', :boost => 2
indexes :user_id, :analyzer => 'snowball'
end
end
hữu ích, nhưng elasticsearch đã kết thúc quá cồng kềnh nên chúng tôi đã chuyển sang postgresql. cảm ơn mặc dù! – noname
rất hữu ích ... với một chút kiên nhẫn, ví dụ ur làm việc như một nét duyên dáng :) – Rinku
Tham số ': store => 'yes'' có hiệu lực gì? – phillbaker