問題タブ [sunspot-solr]
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 - sunspotsolrを使用して関連する検索クエリを取得する
本/著者を検索するためにsunspotsolrを使用する私のrailsアプリケーション。今、私が検索クエリを次のように与えると
「ジェフリー・アーチャー」
それは、著者として「ジェフリー・アーチャー」を持っている本のセットを与えるでしょう。しかし、私が与えるなら
「ジェフリーアーチャー」
黒点は結果を返しません。だからその時私は見せたい
もしかして?「ジェフリー・アーチャー」
sunpspot solrを使用してこれを実装する方法は?
ruby-on-rails - 本番環境での Solr 全文検索 - sunspot:solr バンドル ソリューションとスタンドアロン tomcat+solr のどちらが優れていますか?
開発モードでしばらくの間、sunspot の Solr gem を使用しています。アプリケーションを本番環境に移動する必要があります。
バンドルされている sunspot gem を使用して本番環境で solr をセットアップすることの短所はありますか?
私は一般的に tomcat + solr のアイデアが好きですが、セットアップがより複雑です。
黒点同梱の宝石は簡単です。3 つのステージ (ステージング、プロダクション、QA) に 1 つの Rails プロジェクト、2 つのアプリ サーバー、1 つの db/solr サーバーがあるとします。
- Rails プロジェクトを db サーバーにプッシュする
- bundle exec rake sunspot:solr:start for を使用して、実稼働環境の db サーバーで solr を起動します (solr インスタンスごとに異なるポートを使用するだけです)。
- rake sunspot:solr:reindex による再インデックス
- アプリサーバーのsunspot.ymlを変更して、特定のステージポートでdbサーバーに接続するようにします
上記は、プロダクション/ステージング solr の X インスタンスに適用されます。
Tomcat6 + Sunspot はそれほど簡単ではなく、時間と結果が効果的です。私が理解しているように(私を修正してください)、次のことを行う必要があります。
- db サーバーに tomcat をインストールして維持する
- 3 つの solr インスタンスが必要な場合 - 3 つの solr war を個別の solr でデプロイします (または、セットアップが非常に難しいマルチコア solr を使用します)。
- Rails プロジェクトを db サーバーにデプロイする
- Railsでスキーマ/構成/その他を変更するたびに、solr xmlとconfを生成し、それをtomcat webappsにコピーする必要があります
- solr conf/xml のディレクトリを変更して、インデックス ファイルなどを指すようにします。
- すべてのレールでTomcat solrアプリケーションインスタンスをリロードし、デプロイ手順へのスクリプトと「非レール」アプローチを含むものをデプロイします:)
ruby-on-rails - rails solr search limit 総検索結果数/一定数の結果を取得
検索を実行し、結果をランダムに並べ替え、すべての一致ではなく、いくつかの結果のみを返そうとしています。limit(2) のようなもの Solr パラメータ 'rows' を使用してみましたが、何もしないようです:
@featured_articles.total は 2 のはずですが、2 を超えて返されます
ランダム化された固定数の結果を取得するにはどうすればよいですか?
ruby-on-rails - 変更されないページ付けを使用して、RailsのSunspotでオブジェクトをランダム化するにはどうすればよいですか?
Rails3.1アプリではSunspotSolrを使用しています。検索しているロケーションモデルがあります。これが検索のコードです
私の質問は、ページネーションを同じに保ちながら、結果で場所をランダム化するにはどうすればよいですか?つまり、結果をランダムに(レコードの作成日や名前ではなく)並べ替えたいのですが、ページを更新しても(そして2をparams [:search] [:pageに渡しても)結果のページ2を同じリストにしたいのです。 ])。理想的には、現在のユーザーセッションの順序は同じままです。
この理由は、サイト上の場所はプレミアムであるため、プレミアムの結果が最初に表示されるためですが、支払わない人はランダム化する必要があるため、作成された順序または名前に基づく順序のために場所を優先しません。
ありがとう!ヘルプは本当にありがたいです。
ruby-on-rails - Solr で sunspot_rails を使用して検索しているときに、部分的な単語の一致よりも単語全体の一致を高めるにはどうすればよいですか?
sunspot_rails
インスタンスにクエリを送信するために使用していSolr
ます。すべて問題なく動作しますが、次の基準で結果を並べ替えたいと考えています。最初に、一致する用語が単語の一部ではなく単語として表示されるドキュメントを取得します。
したがって、2 つのドキュメントがある場合:
1)SolrでのSolr検索は素晴らしい
と
2) Solr はフリーテキストでの検索をサポートするのに非常に優れています
そして、私が探している用語は : ですsearch
。
両方のドキュメントを結果に含めたいのですが、(2) のドキュメントを最初に表示させたいです。
試してみorder_by :score, :desc
ましたが、うまくいかないようです。「スコア」がどのように計算されるかを伝える方法を見つけない限り。
よろしくお願いします
ruby-on-rails - herokuのsunspot_solrエラー?
RailsアプリでSolr検索に使用'sunspot_rails', '~> 2.0.0.pre.120415'
し、heroku(2つの別々のアプリケーション)にデプロイしています。あるアプリケーションでは正常に動作していますが、他のアプリケーションではエラーがスローされます。
Heroku 環境を確認したところ、1 つのアプリが cedar スタック上にあり、ruby バージョンが 1.9.2p290 であることがわかりました。(正常に動作) もう 1 つは Bamboo スタック上にあり、Ruby バージョンは 1.9.2p180 (エラーをスロー)
では、これは ruby のバージョンの問題なのか、heroku のスタックの問題なのか? 開発環境の Ruby バージョンは 1.9.2p290 です。
エラー
solr - solr検索で「デフォルトのコンバーターを使用して、queryConverterが定義されていません」という警告を回避する方法
警告を回避する方法 solr 検索で queryCONverter が定義されていません。
ruby-on-rails - 異なるデータ型でmore_like_thisを使用することは可能ですか?
のドキュメントmore_like_this
は、それを使用して、基準に基づいて類似している同じタイプのコンテンツをより多く取得する方法を示しています。
別のデータ型の関連アイテムを返すことができるかどうか疑問に思います。たとえば、Videos
に関連/類似していArticles
ます。
これは、「一連の基準に基づいてこれに類似しているものが多い」という方針に沿って動作しているか、「一連の基準に基づいてこれに類似しているものがmore_like_this
多い」という方針に沿って動作しているかによって異なると思います。 ..Articles
Article
Article
これのユースケースは、を表示していArticle
て、ページの横に関連コンテンツを表示したい場合です。他のコンテンツArticles
、Videos
同じカテゴリ、またはEvents
関連トピックなどです。
ruby-on-rails - 任意の単語を検索する方法は、sunspot solr on rails プロジェクトで検索できます
文で全文を検索し、一致した単語を検索するにはどうすればよいですか。
元:-
"may i find" はモデル ttle で検索しています
「may」、「i」、「find」のいずれかの単語に一致する結果を表示する必要があります
solr - 保存されたhtmlフィールドで強調表示するときにSolr htmlを削除する
レールで Solr と Sunspot を使用します。
次のようなフィールド タイプを使用して html フィールドを検索しています。
次に、検索を実行し、保存されたフィールドを使用して、強調表示されたテキストを結果に返すことができるようにします。私が抱えている問題は、保存された値に元の html テキストが含まれていることです。例: 「ニュース」を検索すると、次のように返されます。
"@@@hl@@@news@@@endhl@@@、スポーツ、地元のお得な情報、最新の会話へのコミュニティ接続。</div>\n</div>\n</div>"
次に、タグ @@@hl@@@、@@@endhl@@@ を html でラップされたタグに置き換えます。
元の html タグ (div など) のタグを自分で手動で削除する必要がありますか? または、既に html タグを削除した状態で保存されている値を取得する方法はありますか?
これを手動で行う方法は知っていますが、schema.xml または solrconfig.xml に何かが欠けていないことを確認したかっただけです。
ありがとう