0

何時間も前からSTIをタイヤ/モンゴイドで動作させようとしています。誰かが私を助けてくれることを願っています。

インデックスが異なる 2 つのモデルがあります。Event.search で両方のインデックスを検索できる必要がありますが、CoursePlan.search で適切なインデックスのみを検索することもできます。

最初のモデル: イベント

# encoding: utf-8
class Event
  include Mongoid::Document
  include Mongoid::Timestamps
  include Tire::Model::Search
  include Tire::Model::Callbacks

  # rest of class omitted...

  # Elasticsearch
  index_name  "events" # Indexname /initializers/tire.rb
  mapping do
    indexes :_id, :index => :not_analyzed
    indexes :title
    indexes :place
    indexes :description
    indexes :fill_out
    indexes :current_user_keyword, analyzer: "keyword"
  end

2 番目のモデル: CoursePlan

# encoding: utf-8
class CoursePlan < Event
  include Mongoid::Document
  include Mongoid::Timestamps
  include Tire::Model::Search
  include Tire::Model::Callbacks
  include TimeHelper

  # rest of class omitted...

  # Elasticsearch
  index_name  "course_plans"
  tire.index.add_alias "events"
  mapping do
    indexes :_id, :index => :not_analyzed
    indexes :title
    indexes :place
    indexes :description
    indexes :fill_out
    indexes :user_email
    indexes :course_title
    indexes :course_area
    indexes :course_user_email
    indexes :date
  end

私はすでにリチャードドンの解決策を試しました。タイヤの問題 #178を参照してください。しかし、これは特定の状況下でのみ機能するようです。

この問題の実用的な解決策はありますか? 多分私は何か間違った。

お時間をいただきありがとうございます。

4

1 に答える 1