問題タブ [solandra]
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 - これらのSolrクエリが異なる結果を生成する方法/理由は何ですか?
私はApacheSolrを使用しており、テキストフィールドPostBody、整数Useridフィールド、およびトライベースの日時フィールドを持つスキーマを使用してインデックスをクエリしていますMostRecentActivityDate。
selectクエリ時間のブーストをクエリに適用して、スコアリングを支援するために、より最近の投稿が何らかの要因でブーストされるようにしようとしています。これに対する私の価値観は、多くのオンライン日付ブーストの例のように、年ではなく日数のタイムスケールを設定しようとする試みです。
次の2つのクエリは異なる結果を生成しますが、それらの中で異なるのは、ブーストの「コード」が実際に配置される場所(つまり、フィールド条件自体の前または後)だけです。私のテストでは、{}ブーストコードがない場合とは異なる結果が生成されることにも気づきました。そのため、ある場合には無視されているわけではありません。
なぜ彼らが異なる結果を生み出すのか説明できる人はいますか?ありがとう!
対
solr - ファセット結果でのカウント
ファセットの結果を数えることで、問題を解決することを意味します。
私は7つの文書を持っています:
フィールドBでファセットクエリを実行すると、結果はB1 = 2、B2 = 2、B3=3になります。
フィールドCごとに、結果のカウントなどの追加情報を取得したいのですが、次のような結果を取得するためにクエリを実行するにはどうすればよいですか。
ありがとう
search - Solrドキュメントの頻繁な更新-効率/スケーラビリティの懸念
次のようなドキュメントフィールドを持つSolrインデックスがあります。
私のアプリケーションでは、ドキュメントはいくつかの整数idといくつかbody_text(最大500文字)で作成されます。日付は入力時刻に設定され、 0num_upvotesからnum_downvotes始まります。
私のアプリケーションは、ユーザーに上記のコンテンツに賛成票と反対票を投じる機能を提供します。DBだけでなく、Solrでこれを追跡したい理由は、自分のに賛成票と反対票の数を考慮できるようにするためsearchです。
これは、solrドキュメント(つまり、up_votesの増分数)を単純に更新することはできず、ドキュメント全体を置き換える必要があるため、問題です。これは、関連するすべてのデータを再度取得するためにDBにアクセスする必要があることを考えると、おそらくかなり非効率的です。
このソリューションでは、異なるレイアウトのデータ、または場合によっては複数のインデックスが必要になる可能性があることを認識しています(ただし、Solrコア間でクエリ/スコアリングできるかどうかはわかりません)。
誰かがこれに取り組む方法について何かアドバイスを提供できますか?
solr - Solr - クエリ フレーズを強調表示する
検索用語全体を強調表示することはできますか? fe 私が取得したい「米国」を尋ねるとき:
ではない:
私は答えを求めてインターネット全体を検索し、hl.mergeContiguous、hl.usePhrasesHighlighter、およびhl.highlightMultiTermパラメーターのすべての組み合わせを使用しましたが、それでも機能しません。
私のクエリは次のとおりです。
答えは次のとおりです。
私の「post_text」フィールドは次のとおりです。
私の「テキスト」タイプは次のとおりです。
また、hl.useFastVectorHighlighter=trueでFastVectorHighlighterを使用しようとしましたが、エラーが発生しました。
助けてくれませんか?
solr - Lucene クエリ エラー: ArrayIndexOutOfBoundsException
私は Solandra (Solr 3.4 + Cassandra 1.0.3) を使用して、いくつかのクエリを作成します。
クエリによる正しい応答:
クエリのエラー:
スタックトレース:
違い: [ 1221743600000 +TO+1323039600000] および [ 1321743600000 +TO+1323039600000] OR 行 = 1および 行 = 0
インデックスの定義:
クエリまたはインデックスで何が問題になる可能性がありますか?
solr - ID によるドキュメントの検索が非常に遅い
私のドキュメントには、次の属性で宣言された「doc_id」と呼ばれる id フィールドがあります。
この ID は、タグで一意のキーとしてマークされます。
一度に多くのドキュメントを読み込もうとして、リクエストで ID を指定します fe doc_id:(235, 163, 256, ..., 10473)
クエリ内の識別子の数が 100 を超えることはありません。ただし、ストレージ内のドキュメントが多いほど、このクエリの実行にかかる時間が長くなります。これは SQL クエリ fe "select doc where doc_id in (...)" のようなものだと思っていましたが、"doc_id" のインデックスを使用すると、実行時間は一定になるはずですよね? では、ドキュメントをどんどん追加すると、なぜ solandra で速度が低下するのでしょうか?
Solandra (Solr 3.4 + Cassandra 1.0.3) を使用しています。
よろしく、 T
solandra - Solandra Sharding: インサイダーの考え
Solandra を使い始めたばかりで、Solandra シャーディングの第 2 レベルの詳細を理解しようとしていました。
AFAIK Soalndra は、各シャードが最大「solandra.maximum.docs.per.shard」のサイズである (「solandra.shards.at.once」プロパティとして) 構成された多数のシャードを作成します。
次のレベルでは、「solandra.maximum.docs.per.shard」/「solandra.index.id.reserve.size」で定義される各シャード内にスロットの作成を開始します。
SchemaInfo CF のデータモデルから、特定のシャード内に異なる物理ノードが所有するスロットがあり、これらのスロットを取得するためにノード間で競合が発生していることがわかりました。
私の質問は次のとおりです。
これは、特定のsolrノードで書き込みを要求した場合を意味しますか.
....solandra/abc/dataimport?command=full-importこのリクエストは可能なすべてのノードなどに分散されますか?これは分散書き込みですか? それが起こるまで、他のノードは特定のシャード内のスロットをどのように競合するのでしょうか.理想的には、ドキュメントまたはドキュメントのセットを作成するためのコードは、単一の物理 JVM で実行されます。シャーディングによって、単一の物理ノードにいくつかのドキュメントを書き込もうとしましたが、異なる物理ノードが所有するスロットに基づいて書き込んでいる場合、異なるノードから結果を取得する必要があるため、実際には何を達成したでしょうか。書き込みスループットが最大化されていることがわかりました。
これらの数値の調整を検討できますか? 「
solandra.maximum.docs.per.shard」、「solandra.index.id.reserve.size","solandra.shards.at.once」。単一の DC 6 ノード セットアップでシャードが 1 つだけでレプリケーション ファクターが 5 の場合、このシャードのエンドポイントにはレプリケーション ファクターに従って 5 つのエンドポイントが含まれていることがわかりました。左の 6 番目のノードが実際にはデータを取得していないことを nodetool で確認しました。クラスターをオンにしたままレプリケーション ファクターを 6 に増やすと、問題は解決し、修復などが行われますか、それとももっと良い方法があります。
solr - Solr のスキーマにデータを追加する方法
solr のスキーマに従って solandra に新しいデータを追加しようとしましたが、これに関する例が見つかりません。私の最終的な目標は、solandra を django-solr と統合することです。
元のsolrとdjango-solrに基づくsolrでの挿入と更新について私が理解していることは、httpプロトコルで新しいデータを適切なパスに送信することです。たとえば、次のようになります。
ただし、その URL にアクセスすると、ブラウザはHTTP ERROR: 404.
solandra 環境での新規データの追加とデータの削除の手順を教えてください。
reuters-demoも見ましたが、データを挿入する手順はreutersimporter.jarのファイルで処理しているのですが、ソースも見当たりません。ですから、データの挿入と削除に関してシステムがどのように機能するかを理解するのを手伝ってください。
ありがとうございました。
solr - ソランドラ json アップデート
solandra プラットフォームで json api を使用してドキュメントをアップロードしようとしています。
それを行うために、ドキュメントをアップロードするために使用したコマンドはそのようなものです
そして、私はこのエラーを受け取りました
この問題を解決するには、まずどこを確認すればよいですか?
node.js - ソランドラ接続のnodejs
nodejsをソランドラに接続するには?
可能であれば、solandraでnodejsを学びたいサンプルコードを提供してください。
いくつかのサンプル コードまたはいくつかの URL を提供する