問題タブ [sunspot-rails]
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.
ruby-on-rails-3 - Solrの重大なエラー
新しい環境(Ubuntu)でsunspot / solrを動作させようとしていますが、以下に含める「Solrの重大なエラー」というエラーが発生します。
エラーの原因がわからないので、設定を変更することをお勧めします
私はそれを試しましたが、私はレールとサンスポットを使用しているので、私の価値は次のように見えました
いずれにせよ、エラーを無視することが最善の方法だとは思いません。この問題に関連するWebエラーログに何も見つからないようです。
すべてのsolrファイルを吹き飛ばして、最初から始める方法はありますか?とにかく定期的にインデックスを作成する必要があるので、これを実行しない理由はありますか?他に何か提案はありますか?
要求に応じて、ここに完全なスタックトレースがあります
java - Mac OS X Lion で Java を更新した後、Solr 接続がエラーを拒否しました
最近、Java for Mac OS X 10.7-Update 1 を更新しました。その後、sunspot/solr を使用した Rails 3.0.10 のローカル開発アプリケーションで、solr-server が正しく起動することを認識しました。
しかし、完全に機能する検索リクエストを送信すると、接続拒否エラーが発生します。
私の同僚の 1 人が最近、OS X Snow Leopard のインストールを OS X 10.6-Update 6 の Java Update で更新しましたが、同じエラーが発生しているため、solr は Java ベースであるため、Java Update が原因であると判断しました。
Rails 3.0.10 で次の gem を使用しています。
OS X で Java を更新した後、誰かがこの問題を解決したり、その外観を確認したりできますか?
どうもありがとう!
ruby-on-rails-3 - t.date または t.decimal フィールドの場合、order_by を使用する方法は?
10 進数または日付フィールドでどのように並べ替えますか?
ユーザー価格を価格と購入日で並べ替えようとしています。
モデルには何が入りますか?
sunspot - 太陽黒点の地理位置情報シナリオの設定
アドレスの検索とGeocoderの使用にSunspotを使用し、距離の計算にGeokit-rails3を使用しています。
質問
検索する製品を入力するときに私が望むのは、別のフィールド内に住所を入力して、半径 30 マイルの特定のエリア内の製品を検索する機能です。
これは、製品を検索できるコントローラーです。
したがって、完了後のフォームは次のようになると思います。
フィールドを正しくマッピングするために:location
、ストアの仮想属性として機能すると考えていますが、これはすべて推測です。:address
特定のシナリオを実現するために、これをすべて設定するにはどうすればよいですか?
ruby-on-rails - Rails Sunspot の使用 返されたファセットに対応する主キーを見つけるにはどうすればよいですか?
ファセットの結果に寄与するオブジェクトの主キーを取得する簡単な方法があるかどうか疑問に思っています。
つまり、 ifsearch.facet(....).rows.first
が a を返す場合FacetRow
、このオブジェクトから、 thissearch.hits
に寄与するのサブセットを取得できFacetRow
ますか? これを行うためのまったく異なる方法がある場合は、お知らせください。
注: 私の問題の全体像を把握するために (おそらく既に理解されていると思います)、ファセットがカウントするオブジェクトにドリルダウンしたいと思います。
前もって感謝します
ruby-on-rails - Rails Sunspot オートコンプリート フィールド
2 つのフィールドを持つ検索フォームがあります。
1 つは名前です。2 番目はカテゴリです。
つまり、「投稿」と「カテゴリ」の 2 つのモデル
カテゴリー検索欄はオートコンプリートなのでカテゴリー名を入れます。
私が抱えている問題は、検索フォームが送信されたときにカテゴリ名をcategory_idに変換することです...
何年もゴーグルしてきましたが、答えが見つかりませんでした:(
ruby-on-rails - Sunspot レール: .results を呼び出すときに関連モデルを含める
アプリでイベントを検索したいとしましょう。結果を表示するとき、たとえば誰がイベントを作成したかを表示したい。
.includes(:user)
不要なクエリ (イベントごとに 1 つ) を避けるために、どこかに追加する方法はありますか? 私はドキュメントでそれを見つけることができません。イベントでユーザー名をインデックス化する必要がありますか? しかし、ユーザー情報を最新の状態に保つ必要があります...
ありがとう
ruby-on-rails - sunspot_rails クエリに時間がかかるのはなぜですか? 高速化するにはどうすればよいですか?
私は Solr/Sunspot を初めて使用し、何か間違ったことをしたと確信しています。
私はsunspot_rails
1.2.1 をrails
2.3.4 で動作させています (他のバージョンを試してみましたが、動作せず、今はレールをアップグレードしないことを望んでいます)
再インデックスが機能し、結果が得られましたが、検索に時間がかかりすぎています。78,000 件弱のドキュメントで 2 つのフィールドの全文検索を行うのに約 25 秒かかります。
私はこれを持っています:
次のように検索します。
これは私が続けなければならない唯一の手がかりです:
Solr Select (25275.2ms) {:fq=>["type:Abstract"], :start=>0, :defType=>"dismax", :q=>" +(テスト)", :fl=">"*スコア", :rows=>30, :qf=>"original_title_text headline_text"}
これは一度限りの最初の検索ではなく、毎回です。
さらに条件 (2 つの日付の間に updated_at など) を追加すると、約 8 分まで増加します。
これは開発環境にあることに注意するよう求められました。
アップデート
問題は Solr にはありません。私がこれにアクセスした場合:
http://localhost:8982/solr/select?indent=on&version=2.2&q=+%2B(test)&fq=type:Abstract&defType=dismax&start=0&rows=10&fl= *%2Cscore&qt=standard&wt=standard&explainOther=&hl.fl=&qf =original_title_text+headline_text
同じクエリを実行し、わずかな時間 (4 ミリ秒程度!) しかかかりません。
では、Rails を介してクエリを実行するのに時間がかかるのはなぜでしょうか? それは太陽黒点か rsolr か、あるいは John が示唆したように、おそらく Solr の新しいインスタンスを起動しているのかもしれませんが、そうではないと思います。
act_as_solr に切り替えてみるべきですか? それは今では少し時代遅れだと思いました。
私は sunspot 1.2.1 と rsolr 0.12.1 を使用しています - 新しいバージョンはここで役に立ちますか?
気になる新情報
Rails 2.3.14 に移行すると、クエリ時間が 18 秒に短縮されました。
結果!
RSolr 1.0.6 で sunspot 1.3.0 を試してみたところ、ついに探していた高速応答が得られました! これにより、Rails 2.3 の安定版に移行する必要がありました。残念ながら、Rails のバージョンをアップグレードしたくなかったのですが、必要だったようです。
solr - Mongoid を使用した Sunspot Solr のタスク sunspot:mongo:reindex のエラー
私はsunspot_mongo gemでsolrを持っています。sunspot:mongo:reindex を実行しようとすると、次のエラーが発生します。
rake sunspot:solr:stop で solr を停止して開始すると、次のようになります。
コマンド rake sunspot:solr:start で Solr を起動すると、次のようになります。
編集済み
ありがとうございます。インデックス フォルダを削除し、sunspot:solr:start を再実行しました。新しいレジスタを作成するか、sunspot:solr:startを実行しようとすると、
常にこれが表示されます:
c43d1f7f8a62a2ff6fed0bddcce1a574-write.lock
ただし、モデルでこれをコメントすると、次のようになります。
rake タスクは正常に機能し、エラーは表示されませんが、モデルのインデックスは作成されません。
何か案が??
jrubyonrails - bash 関数で認識されない bash エイリアス: sunspot_rails、jruby、rspec
バックグラウンドで太陽黒点を実行するための以下のエイリアスは、それらのインスタンスを見つけて殺すための以下のエイリアスで機能します。 .
$user_id は、この sunspot_ports() が呼び出される前に設定され、rebash への最初のログインがソース ~.bashrc のエイリアスであるときに適切に出力されます。
私は開発用と本番用のエイリアスも持っています - これは単なる代表的なコードです。
関数内で .bashrc をソースし、エイリアスを展開されたコマンドに置き換え、すべての組み合わせで関数を sunspot_ports() 内に配置してみました。ログインすると太陽黒点ポートが正しく出力されるので、このコードが実行されることがわかります。
また、jvm では fork が許可されていないため、これを jruby コードのどこかではなく .bashrc の関数として使用する必要があります (それ以外の場合は、スペック テストで sunspot-solr start と sunspot-solr end を使用します)。