問題タブ [cardinality]

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 投票する
2 に答える
12651 参照

elasticsearch - Elasticsearch 用語またはカーディナリティ集計 - 個別の値の数による並べ替え

友達、

何億ものドキュメントから一意のペアを見つけるために分析を行っています。モックの例は次のとおりです。

ドキュメント フィールド1 フィールド2

  1. AAA:BBB
  2. AAA : CCC
  3. PPP : QQQ
  4. PPP : QQQ
  5. XXX : YYY
  6. XXX : YYY
  7. MMM : NNN

ドキュメントの 90% には、上記のドキュメント 3、4、5、6、および 7 に示されているような一意のペアが含まれていますが、集計結果には関心がありません。ドキュメント 1 と 2 を集約することに興味があります。

用語集計クエリ:

ターム集計結果

集計結果に含まれるキーAAAのみに関心があります。異なるペアを含む集計結果をフィルタリングする最良の方法は何ですか?

ユニークな値のカウントを結果とするカーディナリティ集計を試しました。ただし、集計結果から興味のないものを除外することはできません。

カーディナリティ集計クエリ

カーディナリティ集計結果

少なくとも基数で並べ替えることができれば、回避策を見つけるのに役立ちます。この点で私を助けてください。

PS: 集計結果を後処理/フィルター処理するための spark/mapreduce プログラムを作成しても、この問題の解決策は期待できません。

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

elasticsearch - カーディナリティ集計を「場所」条件と組み合わせますか?

フィールドに基づいて個別のヒット数を作成しようとしていますが、行き詰まっています。

カーディナリティと次のような条件を組み合わせるにはどうすればよい"select distinct(lastname) from table where name like 'George%'"ですか?

カーディナリティで「where」条件を使用するにはどうすればよいですか?

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

database - M : N 関係船と表

ショッピング カート用のシンプルなデータベース モジュールを作成しました

私の質問は、ショッピング カートは M:N の関係で製品と出荷されますか? はいの場合、3 番目のテーブルを作成する必要があります。3 番目のテーブルを作成しましたが、意味がありません。T_SHOPPING_CART テーブルを作成し、複合主キーとして id 、product_id、quantity を使用して、製品の値を格納することができます。これらの詳細を格納する別のテーブルを作成するのではありません。3番目のテーブルまたは複合主キーにアプローチする方が良いのはどれですか。

ここに画像の説明を入力

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

database - 参照整合性を使用して最小カーディナリティ 1..1 を最初に入力する必要があるテーブルはどれですか?

参照整合性を使用していて、2 つのエンティティ (A と B) の間に関係があり、両側の最小カーディナリティが 1 であるとします。つまり、テーブル A がいっぱいになる前に、テーブル B にはテーブル A ができるレコードが必要です。にリンクされます。ただし、最小カーディナリティは両側で 1 であるため、逆の場合も同じことが言えます。つまり、レコードをテーブルに挿入する前に、テーブル B のレコードをリンクできるテーブル A のレコードが必要です。 B.

私が正しく理解していれば、参照整合性により、両方のシナリオで、レコードを他のテーブルの別のレコードにリンクする必要があるため、どちらのテーブルにもレコードを入力できないため、問題があるようです...

誰かがこのシナリオで何が起こるか説明できますか?

これと同じ質問を先生に尋ねたところ、最小カーディナリティ 1..1 の関係 (この表記は正しいですか?) は確かに可能であるとのことですが、どのテーブルを最初に入力する必要があるかを説明することはできませんでした。

申し訳ありませんが、具体的な例がありません。これについてランダムに考えていました...回答で実際の例を使用して詳しく説明できれば、それは素晴らしいことです。

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

algorithm - ルックアップ テーブルからデータを最適に取得する方法

さまざまな機能を備えた製品の製品ラインがいくつかあります。私は各製品について作成した図面のリストを持っています。以下は、製品ライン、製品、および機能が図面で表されているもののサンプルです。

ここに画像の説明を入力

すべての機能を備えた特定の製品 (つまり、表の 1 行) が与えられた場合、機能を中心にコードを構成し、正しい図面を選択するための最も効率的で簡潔な方法を見つけようとしています。

私はいつでも次のようなことができます

テーブル内の行と同じ数のフラットな if ステートメントで終わります。しかし、もっと良い方法があるはずです。カーディナリティ、または製品の各プロパティのオプションの可変性と関係があると思います。正確な概念は、何らかの理由で私を逃れます。

例えばモーターが付いているかどうかを最初に確認した方が、選択肢の約半分をなくすことができ、絞り込みが早くなるということを知ったほうがよいような気がします。つまり、メインの外側の if ブロックで次のようなことを行います。

このようなものとは対照的に:

しかし、おそらく私はこれを考えすぎて、何らかの形ですべてのプロパティを備えたルックアップテーブルが必要なだけです。

ルックアップ テーブルに使用するのに最適なプロパティの順序と、それが重要かどうかについては、依然として疑問が残ります。

質問:

製品のプロパティを決定するための「最適な」if-then-else ブロックの入れ子順序はありますか、コード全体で行う必要がある決定の総数を最小限に抑えますか、それとも一連の思考を放棄してルックアップ テーブルのみを使用する必要がありますか? ? なぜですか、そうでないのですか?

EDIT:ちなみに..これはデータベースを使用するのに適した候補のように見えます..しかし、合計48行しかなく、コードに直接エンコードできます。これは読み取り専用で、それほど頻繁には更新されないため、多次元配列を使用してこのデータをエンコードすることを考えています。

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

mysql - カーディナリティの最適なパーセンテージ値

たとえば100'000レコードがあると仮定すると、mysqlの「カーディナリティ」の最適な値は何ですか? つまり、速度の面で。

カーディナリティが非常に低いことは悪いことですが、カーディナリティが非常に高いことも悪いことですか? もしそうなら、パーセントで表した最良の値は何ですか?

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

elasticsearch - 完全に間違った結果を与える Elasticsearch カーディナリティ集計

Web サイトの各ページ ビューを ES インデックスに保存しています。各ページはentity_idによって認識されます。特定の時点以降の一意のページ ビューの合計数を取得する必要があります。次のマッピングがあります。

Elasticsearch docs によると、それを行う方法はカーディナリティ集計を使用することです。これが私の検索リクエストです。

将来のタイムスタンプを使用したため、結果が返されないことに注意してください。そして、私が得ている結果は次のとおりです。

検索クエリのページ訪問がまったくないことを考えると、一意のページ訪問が 116 になる理由がわかりません。私は何を間違っていますか?