問題タブ [tire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
583 参照

ruby-on-rails - Carrierwaveとタイヤの競合

キャリアウェーブタイヤジェムの両方を使用しているアプリケーションがあります。私が遭遇している問題は、私がやろうとすると、次のようrake environment tire:import CLASS=Website FORCE=true --traceになります。

タイヤと搬送波の間にはある種の衝突があるようです。Webサイトモデルから削除するmount_uploader :screenshot, ScreenshotUploaderと、rakeコマンドは成功します。これの原因と可能な解決策についてのアイデアはありますか?

0 投票する
1 に答える
714 参照

ruby-on-rails - BSON::InvalidObjectId不正なObjectId形式

コントローラに単純な条件を挿入しようとした後、このエラーが発生しましたif

0 投票する
2 に答える
2114 参照

ruby-on-rails - 関連付けのタイヤ/エラスティックサーチ検索

次のコードがあり、ElasticSearch を使用してクエリを実行しようとしています。

Book.search(:q=>'Foo') を実行すると機能しますが、Book.search(:author=>'Doctor') を実行すると機能しません。私のデータベースには、「Barz、Foo、Doctor」のような名前のエントリがあります。

スノーボールを使用して名前を分割しているため、クエリで用語または用語を使用する必要があるかどうかわかりません。用語を試してみたところ、エラーが発生しました。用語では、結果が得られません。

0 投票する
5 に答える
4897 参照

ruby-on-rails - Ruby: ElasticSearch + タイヤ エラー Tire::Search::SearchRequestFailed - IndexMissingException?

ElasticSearch + Tire を使用して、MongoDB に保存されている検索を行いたいと考えています。

ただし、検索を実行しようとすると、次のエラーが表示されます。

Tire::Search::SearchRequestFailed in SearchController#index

私が理解していることから、これは、実行時にインデックスを生成するように指示したにもかかわらず、イベントのインデックスが欠落していることを示していますdb:setup

モデル:

コントローラ:

これを解決する方法についてのアイデアはありますか?

0 投票する
0 に答える
192 参照

ruby-on-rails - 私のアプリとは異なるデータベースを照会するエラスティックサーチ?

MongoDB を利用した Rails 3.2.2 アプリ ( Tire経由) に ElasticSearch を使用しようとしています。

ElasticSearch が、このアプリのデータベースではなく、2 番目の MongoDB データベースからクエリ結果を返しているように見えるという非常に奇妙な問題が発生しています (私のconfig/mongoid.ymlファイルで定義されています)。これは非常に奇妙です!

するとEvent.all、適切なイベントがすべて表示されます。

ただし、実行しようとするとEvent.tire.search("foo")(またはEvent.tire.search('*')場合によっては)、代わりに別のアプリの MondoDB データベースからの結果が返されます!

Tire が ElasticSearch にこのアプリのデータベースを自動的に使用するように指示することを期待していますが、それが失敗した場合、明示的に設定する方法はありますか?

この問題に関するヘルプをいただければ幸いです。ありがとう!

0 投票する
1 に答える
2569 参照

elasticsearch - Elasticsearchカスタムスクリプトフィールドを使用して、param配列にIDが存在するかどうかを確認します

ブール値であり、パラメータとして送信される配列にドキュメントのIDが存在する場合にtrueを返すカスタムスクリプトフィールドを追加することは可能ですか?

このようなものhttps://gist.github.com/2437370

mvelでこれを行う正しい方法は何でしょうか?

更新: Imotovの回答で指定されているように動作させるのに問題があります。

マッピング:

選別:

:sort=>{:_script=>{:script=>"return friends_visits_ids.contains(_fields._id.value)", :type=>"string", :params=>{:friends_visits_ids=>["4f8d425366eaa71471000011"]}, :order=>"asc"}}}

place: { properties: { _id: { index: "not_analyzed", store: "yes" }, } }

エラーは発生しません。ドキュメントが正しく並べ替えられません。

アップデート2

ああ、そして私はこれを文書に戻します:

"sort"=>["false"]

0 投票する
1 に答える
763 参照

ruby-on-rails - TiregemによるElasticsearchのバージョン管理

タイヤ(0.4.0)を使用してElasticsearch(0.17.4)エンジンとインターフェースする既存のRailsアプリがあります。Tire::Persistenceを使用するモデルがすでにいくつかあります。Elasticsearchのバージョン管理を利用して、すべての変更を追跡し、以前のバージョンに戻せるようにする新しいモデルを追加したいと思います。

現在、「永続化された」モデルインスタンスを取得するときにチェック_versionしますが、常にnilです。バージョン管理に関連するタイヤのドキュメントは見つかりませんでした。なんらかの方法でアクティブ化する必要がありますか、それともバージョン値を含むレコードを手動で保存する必要がありますか?私もここで正しい軌道に乗っていますか?

特定のメソッドがアイテムの値を返すことはわかります_versionが、他のメソッドは返しません...

また、バージョン管理は2ずつ増加しているようです。おそらくタイヤはバージョン管理を処理するために完全に装備されていません。以前のバージョンを保存していますか?以前のバージョンのレコードを取得するにはどうすればよいですか?

[編集]Elasticsearchの「バージョン管理」が実際に何であるかを誤解した可能性があります。それは主に同時実行制御のためのようです。ああ、ウェルズ。(ただし、別の方法で聞きたいです)

0 投票する
1 に答える
2936 参照

ruby-on-rails - ElasticSearch + Tire:ESをモックするための優れた戦略

私は自分のサイトのホームページでElasticSearchを使用しています。私の受け入れテストでは、ユーザーがログインすると、ホームページにリダイレクトされます。

ただし、テストでESを使用するとコストがかかるため(インデックスの作成と削除が必要)、ユーザーがホームページにアクセスするたびにESを使用する必要はありません。

テストにメタデータがある場合にのみ、実際のES検索を実行したいと思います。

したがって、テストに:elasticメタデータがない場合は、検索を「モック」し、ESを使用しないようにする必要があります。

それを達成するための良い方法は何でしょうか?

0 投票する
1 に答える
909 参照

ruby-on-rails - RailsでTireとElasticSearchを使用して1つのモデルにのみ適用されるフィルター

私はelasticsearchでインデックス付けされたいくつかのモデルを持っており、そのうちの1つにはフィルタリングが必要な関連付けがありますが、このようなものをsearchメソッドに追加すると

そのような関連付けがないため、すべてのモデルが除外されsessionsます。

では、1つのモデルだけにフィルターを適用する方法はありますか?

どんな考えでも大歓迎です!