我已经对我的rails应用程序进行了简单的搜索。但是我想让它成功,即使关键字出现问题。 如果我有一个写有“hello world”的推文,我可以通过输入“hello world”对其进行排序,但是如果输入“world hello”它就不起作用。我该如何解决?这是我的代码:
tweet_controller.rb
def index
@tweets = Tweet.all
if params[:search]
@tweets = Tweet.search(params[:search])
else
@tweets = Tweet.all
end
end
tweet.rb
def self.search(search)
where("status LIKE ?", "%#{search}%")
end
和视图
<%= form_tag(tweets_path, :method => "get", id: "search-form") do %>
<%= text_field_tag :search, params[:search], placeholder: "Search Tweets" %>
<%= submit_tag "Search" %>
<% end %>
谢谢!
答案 0 :(得分:0)
试试这个:
tweet.rb
def self.search(search)
search_string = search.split(" ").first ##split and search by first keyword
where("status LIKE ?", "%#{search}%")
end
对于full-text search
,您可以使用任何搜索引擎,例如solar