0

私はレールでスフィンクスを使用しています。インデックスとして指定した列とは別に、スフィンクスはモデル名に対しても検索し、抜粋語のリストに追加しているようです。

たとえば、「イベント」というモデルがあります。「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>

私は少し見回しましたが、それを理解できないようです-私が見逃しているオプションがどこかにあると確信しています. どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1