に私はAlgoliaのドキュメントを見たとelasticsearchにあなたのような集計をすることができますことに関連する何かを見つけることができませんでした:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html統計集計algolia
私が何をしたいの例はこれです:
- ユーザーが検索すると、特定のフィルタに一致するすべての数(赤いアイテム、青いアイテム、黄色のアイテムなど)の合計数など、そのクエリの集計結果もリアルタイムで表示されます
Ah shit。私は日付に基づく集計をしたい。基本的に、各ユーザは "利用可能な"スロットのリスト( '[開始日、終了日]'のペアのリスト)を持っており、特定のクエリ(例えば、午後、午後、夕方など)で利用可能なユーザの数を集計したい。 '{朝:100、午後:50、夕方:10}') – Zach
カウントを持つことはAlgoliaのファセッティングで組み込まれています。再フォーマットする必要があるのは、スロットのスキーマのみです。 'slot:[" 08:00 "、" 12:00 "]'の代わりに 'slot:" morning "'に変換し、あなたの 'attributesForFaceting'に' slot'を追加すれば完了です。 – redox
私はそれが好きですが、唯一の問題はタイムゾーンを越えて動作しないことです。私は、タイムゾーンごとに計算されたアベイラビリティを持つように、データを前処理するという回避策があると思います。たとえば、各ユーザには、次のようなネストされたオブジェクトがあります。 '{morning:[-1、-2]、午後:[8,9]、...}'数値はタイムゾーンです。次に、現在のユーザーのタイムゾーン(検索しているユーザー)を集計して集計します。 – Zach