問題タブ [range-query]

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 に答える
994 参照

indexing - 2番目のインデックスのCassandra SELECTは常にパーティションキーでソートされますか?

次のテーブルとセカンダリ インデックスが定義されているとします。

データ モデルに関する一般的な背景情報: アイテムにはコンテキスト内で一意の名前があるため、(item_name, item_context) はアイテムの自然キーです。タグには何らかの値が関連付けられています。

私のアプリケーションでの自然なクエリは、「特定のタグを持つアイテム X のすべての更新を表示する」です。これは次のように変換されます。

いくつかのクエリを試してみると、クラスターは Murmur3Partitioner を使用しているにもかかわらず、結果が時間順に並べられていることに気付きました。これは、Cassandra がセカンダリ インデックスを幅の広い行として格納し、列が名前順に並べられていることを考えると理にかなっています。

(1) Cassandra は、(n) (セット) のインデックス付き列を選択するときに、常にパーティション キーで並べ替えられた行を返しますか?

これが興味深いと思う理由は、私のアプリケーションに他の自然なクエリが含まれているからです。

  • 日付 D 以降、アイテム X のすべての更新を取得する
  • アイテム X の最新の 300 件の更新を取得する

ORDER BY time DESC驚いたことに、ItemUpdates の select ステートメントに句を追加すると、「2 番目のインデックスを持つ ORDER BY はサポートされていません」というエラー メッセージが表示されます。

(2) (どのように) インデックス付きの列を選択してクエリを絞り込むときに、パーティション キーに対して範囲クエリを実行できますか?

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

elasticsearch - 文字列のelasticsearchを使用した範囲クエリ

Elasticsearchで範囲クエリを使用しようとしています

しかし、弾性は結果を返しません。システムに文字列のインクルード-または問題があることがわかりました_

これはそのフィールドのマッピングです:


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

sorting - Solr Alphabetic Range クエリ検索文字列から句読点を省略できない問題

句読点や大文字と小文字を区別せずに並べ替える範囲クエリを使用して、名前 (個人および機関) のアルファベット順のブラウズを作成しようとしていますが、Solr の分析ツールは、クエリの句読点を正しく削除する必要があることを示唆していますが、クエリ内の句読点は結果に悪影響を及ぼします。

schema.xml から:

solrconfig.xml から:

私の実際のクエリは次のようになります。

を検索するq=["ACA" TO *]と、トップの結果は「ACA (Academy of Certified Archivists)」で、これは良い結果です。「ACA」で使用されている大文字と小文字を変えても、結果は変わりません。これも良いことです。ピリオド ( q=["A.C.A." TO *]) を含む頭字語を検索しても、適切な結果がまったく得られず、トップ ヒットは "A3 (ミュージカル グループ)" です。この場合、ピリオドを削除するのではなく、ピリオドでソートしていると思われます。

Solr の分析ツールによると、構成したアナライザーを使用して、「ACA」と「ACA」の両方を「aca」にレンダリングする必要があります。これら 2 つの検索が事実上同等ではない理由を説明するのに途方に暮れています。

(違いが生じる場合、コードがインデックス付けされるデータを送信する前に同じ変換を行っているため、インデックス時の分析は事実上役に立たない. .)

編集:これは、クエリとしての「ACA」の分析がどのように機能するかのスクリーンショットです(Solr分析ツールによる)。

編集:これは私の分析のスクリーンショットです

約4か月後に追加:

質問を投稿して解決策が見つからなかったため、分析にカスタム フィルター ファクトリを使用するように切り替えました。これにより、提供されたフィルターでは困難または不可能だった分析を制御できるようになりました。私の最初の試行でも同じ問題がありました。分析は通常の検索では機能しましたが、範囲クエリには適用されませんでした。この問題は implements MultiTermAwareComponent、フィルタ ファクトリに追加してオーバーライドする ことで解決されましたgetMultiTermComponent()。を使用しているため、フィールド値に複数の用語が含まれていないフィールドに対してこれが何をするのかわかりKeywordTokenizerません...しかし、問題は修正されました。これは Solr 4.2用でした。

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

marklogic - MarkLogic 範囲クエリ

MarkLogicのエキスパートの皆様、こんにちは。

MarkLogic の範囲クエリを使用して、以下のサンプル結果を得る方法についてアドバイスをお願いします。

XML

クエリ:

結果は次のようになります: リンゴ

結果は次のようになります: リンゴ、オレンジ

結果は次のようになります: リンゴ

結果は次のようになります: リンゴ

結果 4: りんご

結果は次のようになります: リンゴ

上記の結果のサンプルクエリを手伝ってください、ありがとう

よろしく、

ディネシュ

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

cassandra - Cassandra 最適なパフォーマンスを得るための列/行の数は?

私はチャット サーバーを作成しており、メッセージを cassandra に保存したいと考えています。範囲クエリが必要であり、1 日あたり 100 件のメッセージが予想され、履歴を 6 か月間維持することがわかっているため、ある時点で 1 人のユーザーに対して 18,000 件のメッセージが送信されることになります。

ここで、範囲クエリを実行するので、データが同じマシン上にある必要があります。完全に理解していない ByteOrderPartitioner を使用する必要があるか、ユーザーのすべてのメッセージを同じ行に格納できます。

したがって、18000列になります。このクラスター キー アプローチを使用すると、パフォーマンスの問題が発生すると思いますか?

はいの場合、どのような代替手段がありますか?

ありがとう

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

algorithm - サブ配列に対する高速クエリ

問題: ソートされた整数 a[N] の配列が与えられた場合、次のような種類のクエリを処理する必要があります

  • [LR] p :すべての i=L...R についてa i C pの合計を求める

制約:
N< 10 5
1<=a i <=10 6

このようなクエリが Q 個あるとします。この問題を解決するためのより良い方法を提案してください。注意すべき点は次のとおりです
。すべてのクエリは事前に与えられます。つまり、オフライン アルゴリズムが機能します。
また、配列がソートされていることにも注意してください。
配列内の各要素は、小さい数で区切られています。アレイへの更新はありません。

ありがとう

PS: ブルート フォース アプローチは、複雑さを与える要素ごとに各クエリ要素を処理します: O(Q * N * (n のコストは r) を選択します) 。