From f0669cabe92be688e2684bcfddab0af7d4d7735e Mon Sep 17 00:00:00 2001 From: Martin Gaievski Date: Fri, 9 Dec 2022 16:48:47 -0800 Subject: [PATCH] Adding release configs for lucene filtering Signed-off-by: Martin Gaievski --- .../lucene-hnsw/relaxed-filter-spec.json | 42 ++++++++++++++++++ .../lucene-hnsw/relaxed-filter-test.yml | 33 ++++++++++++++ .../lucene-hnsw/restrictive-filter-spec.json | 44 +++++++++++++++++++ .../lucene-hnsw/restrictive-filter-test.yml | 33 ++++++++++++++ 4 files changed, 152 insertions(+) create mode 100644 benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-spec.json create mode 100644 benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-test.yml create mode 100644 benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-spec.json create mode 100644 benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-test.yml diff --git a/benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-spec.json b/benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-spec.json new file mode 100644 index 000000000..fecde0392 --- /dev/null +++ b/benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-spec.json @@ -0,0 +1,42 @@ +{ + "bool": + { + "should": + [ + { + "range": + { + "age": + { + "gte": 30, + "lte": 70 + } + } + }, + { + "term": + { + "color": "green" + } + }, + { + "term": + { + "color": "blue" + } + }, + { + "term": + { + "color": "yellow" + } + }, + { + "term": + { + "color": "sweet" + } + } + ] + } +} \ No newline at end of file diff --git a/benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-test.yml b/benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-test.yml new file mode 100644 index 000000000..52f421bb2 --- /dev/null +++ b/benchmarks/perf-tool/release-configs/lucene-hnsw/relaxed-filter-test.yml @@ -0,0 +1,33 @@ +endpoint: [ENDPOINT] +test_name: "index-workflow" +test_id: "Index workflow" +num_runs: 10 +show_runs: false +steps: + - name: delete_index + index_name: target_index + - name: create_index + index_name: target_index + index_spec: /home/ec2-user/[PATH]/index.json + - name: ingest_multi_field + index_name: target_index + field_name: target_field + bulk_size: 500 + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean-with-attr.hdf5 + attributes_dataset_name: attributes + attribute_spec: [ { name: 'color', type: 'str' }, { name: 'taste', type: 'str' }, { name: 'age', type: 'int' } ] + - name: refresh_index + index_name: target_index + - name: query_with_filter + k: 100 + r: 1 + calculate_recall: true + index_name: target_index + field_name: target_field + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean-with-attr.hdf5 + neighbors_format: hdf5 + neighbors_path: /home/ec2-user/data/sift-128-euclidean-with-filters.hdf5 + neighbors_dataset: neighbors_filter_5 + filter_spec: /home/ec2-user/[PATH]/relaxed-filter-spec.json diff --git a/benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-spec.json b/benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-spec.json new file mode 100644 index 000000000..9e6356f1c --- /dev/null +++ b/benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-spec.json @@ -0,0 +1,44 @@ +{ + "bool": + { + "must": + [ + { + "range": + { + "age": + { + "gte": 30, + "lte": 60 + } + } + }, + { + "term": + { + "taste": "bitter" + } + }, + { + "bool": + { + "should": + [ + { + "term": + { + "color": "blue" + } + }, + { + "term": + { + "color": "green" + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-test.yml b/benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-test.yml new file mode 100644 index 000000000..308d6b042 --- /dev/null +++ b/benchmarks/perf-tool/release-configs/lucene-hnsw/restrictive-filter-test.yml @@ -0,0 +1,33 @@ +endpoint: [ENDPOINT] +test_name: "index-workflow" +test_id: "Index workflow" +num_runs: 10 +show_runs: false +steps: + - name: delete_index + index_name: target_index + - name: create_index + index_name: target_index + index_spec: /home/ec2-user/[PATH]/index.json + - name: ingest_multi_field + index_name: target_index + field_name: target_field + bulk_size: 500 + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean-with-attr.hdf5 + attributes_dataset_name: attributes + attribute_spec: [ { name: 'color', type: 'str' }, { name: 'taste', type: 'str' }, { name: 'age', type: 'int' } ] + - name: refresh_index + index_name: target_index + - name: query_with_filter + k: 100 + r: 1 + calculate_recall: true + index_name: target_index + field_name: target_field + dataset_format: hdf5 + dataset_path: /home/ec2-user/data/sift-128-euclidean-with-attr.hdf5 + neighbors_format: hdf5 + neighbors_path: /home/ec2-user/data/sift-128-euclidean-with-filters.hdf5 + neighbors_dataset: neighbors_filter_4 + filter_spec: /home/ec2-user/[PATH]/restrictive-filter-test.yml