私はレールでスフィンクスを使用しています。インデックスとして指定した列とは別に、スフィンクスはモデル名に対しても検索し、抜粋語のリストに追加しているようです。
たとえば、「イベント」というモデルがあります。「Dance」を検索すると、検索結果で「イベント」という単語がインデックス付きフィールドのいずれかで発生すると強調表示されます。つまり、単に「Dance」ではなく「Dance Event」が強調表示されます。どうすればこの動作を止めることができますか?
編集:
編集: ajax-y 検索ルートが別の方法で検索されたため、これは検索オートコンプリート ウィンドウで発生していないことに気付きました:
results = ThinkingSphinx.search(params[:search], {:star => true})
results.context[:panes] << ThinkingSphinx::Panes::ExcerptsPane
また、検索結果の抜粋が間違っているのは特定のモデルに関するものです (以下を参照)。
コードは次のとおりです。
event_index.rb
ThinkingSphinx::Index.define :event, :with => :active_record do
indexes title
indexes subtitle
indexes vendor.name, :as => :event_vendor
indexes vendor.city, :as => :event_city
indexes genre.name, :as => :genre_name
set_property :min_prefix_len => 3
set_property :enable_star => true
end
vendor_index.rb
ThinkingSphinx::Index.define :vendor, :with => :active_record do
indexes :name
indexes city, :as => :city
set_property :min_prefix_len => 3
set_property :enable_star => true
end
search_controller.rb
def index
@events = Event.search params[:search], {:star => true , :per_page => 5, :page => params[:events_page]}
@events.context[:panes] << ThinkingSphinx::Panes::ExcerptsPane
@vendors = Vendor.search params[:search], {:star => true , :per_page => 5, :page => params[:vendors_page]}
@vendors.context[:panes] << ThinkingSphinx::Panes::ExcerptsPane
end
イベント結果のパーシャル _event.html.erb
<div class="event">
<table>
<tr>
<td class="image">
<% if event.image? %>
<%= image_tag event.image_url(:mid).to_s %>
<% else %>
<img src='http://lorempixel.com/100/100/abstract/<%= (1..10).to_a.sample %>' />
<% end %>
<div class="genre_img">
<%= image_tag event.genre.image_url().to_s %>
</div>
</td>
<td class="body">
<%= event.excerpts.to_yaml %>
<h3><%= link_to ( raw event.excerpts.title), event_path(event) %></h3>
<p class="bold"> <%= raw event.excerpts.subtitle %> </p>
<p class="bold"> Genre: <%= raw event.excerpts.genre_name %> </p>
<p class="bold"><%= link_to ( raw event.excerpts.vendor_name), vendor_path(event.vendor) %></p>
<p class="bold"> <%= raw event.excerpts.vendor_city %> </p>
</td>
</tr>
</table>
</div>
私は少し見回しましたが、それを理解できないようです-私が見逃しているオプションがどこかにあると確信しています. どんな助けでも大歓迎です、ありがとう!