0
如何在輪胎查詢中使用通配符。 暫時我在搜索查詢本身使用*,但它增加了它的執行時間。 有沒有其他方法? 我是新手&根本不使用json方法來配置我的elascticsearch。輪胎不搜索部分關鍵字
這是我的代碼。
模型/ movie.rb
class Movie < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
mapping do
indexes :title,boost: 10
indexes :year
indexes :author
end
def self.search(params)
#binding.pry
tire.search(load: true) do |s|
s.query {string "*#{params[:query]}*"} if params[:query].present?
s.filter :range,year: {lte: 2004}
end
end
end
控制器/ search_controller.rb
class SearchController < ApplicationController
def index
if(params[:query]).present?
@results=Movie.search(params)
else
@results=[]
end
end
end
視圖/ index.html.erb
<h1>Search#index</h1>
<p>Find me in app/views/search/index.html.erb</p>
<%= form_tag search_index_path, method: :get do %>
<p>
<%= text_field_tag :query, params[:query] %>
<%= submit_tag "Search", name: nil %>
</p>
<% end %>
<% if @results %>
<% @results.each do |fetchresults| %>
<%= fetchresults.title %>
<%= fetchresults.year %>
<%= fetchresults.author %><br/>
<% end %>
<% end %>
爲例如。我在我的數據庫中有巴黎&當我搜索「aris」時,它應該在搜索結果中顯示巴黎,默認情況下它不顯示任何結果。
謝謝。
嘿靈魂,我特別要求輪胎,不是用於正常的導軌查詢。 – NamingException
哦,好運好夥計! –