問題タブ [websolr]
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.
solr - Sunspot / Websolr を使用してサーバー間でデータをすばやく転送するには?
私のセットアップはどちらかというと型にはまったものではないかと思うので、少し背景を説明することから始めたいと思います。Solr のセットアップには、次の 3 つの環境が含まれます。
- プロダクション - Websolrでホストされている Solr サーバー。
- ステージング - Websolrでホストされる Solr サーバーでもあります。
- 開発 - sunspot_solr gem を介してサポートされているため、開発用に独自のローカル Solr サーバーを簡単にセットアップできます。
ほとんどの場合、これはうまく機能しています。多くのレコードがあるため、完全な再インデックスを行うには数時間かかります (熱心な読み込みとバックグラウンド ジョブを使用して作業を並列化するにもかかわらず)。しかし、頻繁に完全に再インデックスする必要はないので、それほどひどいことではありません。
しかし、非常に面倒になり始めている別のシナリオがあります... ローカル マシン (またはステージング環境) に運用データを頻繁に入力する必要があります (つまり、基本的には運用から SQL ダンプを取得し、それをローカル データベースにパイプします)。これは、バグ修正などのために常に行っています。
この時点で、データが変更されたため、ローカルの Solr インデックスは古くなっています。そのため、検索を正しく機能させたい場合は、ローカルの Solr サーバーのインデックスを再作成する必要があり、これには非常に長い時間がかかります。
ここで質問です。完全な再インデックスを実行するのではなく、運用インデックスを自分のマシンに単純にコピーしたいと考えています (つまり、概念的には SQL ダンプに似ていますが、データベースではなく Solr サーバー用です)。これが可能であることを知るのに十分なほどグーグルで検索しましたが、Websolr / Sunspot に固有のソリューションは見たことがありません。これらは非常に一般的なツールであるため、他の誰かがすでにこれを理解しているに違いないと思いました。
助けてくれてありがとう!
ruby-on-rails - sunspot solrを使用してレールの結果セットでレコードを動的にランク付けする方法
users
、cafes
およびそれら(いくつfood_items
かの成分がリストされています)があります。ingredients
これまで、solr を使用して、ユーザーが好きなものを介して food_items を検索していました。これは、 sunspot docsに従って、sunspot-solr 検索を使用して達成されました。
また、ユーザーの親戚をさまざまなカフェに集めることができlike-ness
ます (彼が訪れた回数、メニューを検索した回数などに基づいて) (これはその場で生成される動的な値です)
問題:
solr 経由で取得した同じ結果 (food_items) を表示したい(結果の再ランキング) (ユーザーのカフェへの類似度に基づく) レール用の sunspot solr を使用する
このアプリは heroku でホストされていますと使用websolr
私はこれらを見つけました:
https://cwiki.apache.org/confluence/display/solr/Query+Re-Ranking
https://cwiki.apache.org/confluence/display/solr/RankQuery+API
QParserPlugin
しかし、黒点でランククエリを作成または生成する方法がわかりません。
sunspot
カスタム クエリを作成する方法を提供します。そのため、類似性を取得して各レコードをランク付けするためのクエリを構築する際に助けを得ることができれば (または) そのようなロジックを実装する他の方法があれば、それは素晴らしいことです.
ありがとう!
ruby-on-rails - Solr検索結果をドキュメントタイプ別にブーストする方法は?
注: 私はRails でSunspotを使用していますが、Sunspot の DSL に慣れていない場合でも、一般的な Solr の応答で正しい方向に進むことができます。
これらに似たモデルがいくつかあります。
さまざまな結果を得るために、すべてのモデルで同時に全文検索を行う必要がありますが、検索結果では、記事は書籍よりも関連性が高いと見なされるべきです。
検索を実行するための現在のコードは次のとおりです。
これは正しく混在した結果を返しますが、Book の結果と比較して Article の結果をブーストする必要があります。これは、すべての記事の結果を最初にリストし、次にすべての書籍の結果をリストすることと同じではないことを明確にしたいと思います。全体的なコンテンツに基づいて Solr が結果をランク付けする方法によっては、まだいくつかの組み合わせが存在する可能性があります。
ブースト機能を使用する必要があると思いますが、正確な方法がわかりません。
ポインタはありますか?
solr - スペルが間違っている Solr 検索
Solr を My eComemrce Web アプリケーションと統合しました。製品タイトルと製品の他の多くのフィールドを Solr にインデックス付けしています。これで、 BLÅBÆRSOMMERENを製品のタイトル/名前に索引付けしました。Title フィールドにも EdgeNGram を追加しました。EdgeNGram のおかげで、いずれかのトークンを検索すると結果が得られました。BLÅBÆRISOMMERENのような間違ったスペルを検索すると、スペル チェックが行われるため、結果が得られました。しかし、BLÅBÆRIを検索すると、同じトークンがないため、結果が得られませんでした。
BLÅBÆRというトークンが存在するので、結果にBLÅBÆRを持つ商品が欲しいです。他の間違ったスペル検索についても同じです。
どうすればこれを達成できますか?どんな助けでも大歓迎です!
ありがとう。
utf-8 - WebSolr でドキュメントを作成するときの無効な UTF-8 ミドル バイト エラー
SolrJ 6.2.1 を使用していて、WebSolr インデックスにドキュメントを作成しようとしていますが、ドキュメントをインデックスに追加しようとすると、次のエラーが発生し続けます。
エラー: https://index.websolr.com/solr/XXXXXXXのサーバーからのエラー: 無効な UTF-8 中間バイト 0xe0 (文字 #1、バイト #-1)
インデックスを作成するために私が書いた SolrJ コードは次のとおりです。
また、最初にインデックスを設定するときに、WebSolr で「カスタマイズされた」インデックス タイプを使用しています。
私がここで間違っているかもしれないアイデアはありますか?
ありがとう、
ruby - Solr にアクセスできない場合、Ruby Heroku アプリで Solr を無視する
インデックスをサポートするために WebSolr アドオンを使用する、単純な Ruby アプリを Heroku にデプロイしましたsearchable
。WebSolr がダウンしている場合、アプリは 503 サービス利用不可エラーで動作を停止します。アプリが引き続き動作し、インデックス作成が一時的に機能しなくてもかまいません。Ruby アプリが引き続き機能するように、Solr の停止を無視することは可能ですか?