アプリケーションで Elasticseach エンジンを使い始めたところ、問題が発生しました。現在、次のようにインデックスを作成しています。各エントリには-
username
file_path
md5
私の目標は、現在データベースにある一意の (ユーザー名ごとに 1 のカウント) md5 の数を判断することです。
検索クエリ全体を組み立てることができなかったために、集計演算子やカウント演算子を使用するなど、多くのアプローチを見てきました。参考までに、Python を使用して Elasticsearch クエリを実行しています。
編集: 私のスクリプトはこの ATM のようになります:
import elasticsearch
from elasticsearch.helpers import scan
es = elasticsearch.Elasticsearch()
q = {
"aggs" : {
"distinct_colors" : {
"terms" : {
"field" : "md5"
}
}
}
}
res = es.search(index = "my-index", body = q, search_type="count", size = 0 )
for r in res['aggregations']['distinct_colors']['buckets']:
print( r )
「スキャン」アプローチも使用しましたが、成功しませんでした: