diff options
author | Geir Storli <geirst@verizonmedia.com> | 2020-06-19 11:47:24 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2020-06-19 11:47:24 +0000 |
commit | cdc65c6b2b0734fb97b7f466ba0139ce6406559c (patch) | |
tree | 033a09e26f015211ba1d5e49721f4277dd04151e /config-model | |
parent | 2a4d87ba45101d5db0fe906846f99d4ea9f1334c (diff) |
Add flag to enable multi-threaded indexing for a hnsw index.
Diffstat (limited to 'config-model')
26 files changed, 157 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java index 004e44a7659..210f54de6a6 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java @@ -250,6 +250,7 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce ib.hnsw.neighborstoexploreatinsert(params.neighborsToExploreAtInsert()); var dm = AttributesConfig.Attribute.Index.Hnsw.Distancemetric.Enum.valueOf(dma.toString()); ib.hnsw.distancemetric(dm); + ib.hnsw.multithreadedindexing(params.multiThreadedIndexing()); aaB.index(ib); } return aaB; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/document/HnswIndexParams.java b/config-model/src/main/java/com/yahoo/searchdefinition/document/HnswIndexParams.java index 2f084d3e513..f4f4cedd2aa 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/document/HnswIndexParams.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/document/HnswIndexParams.java @@ -16,10 +16,12 @@ public class HnswIndexParams { private final Optional<Integer> maxLinksPerNode; private final Optional<Integer> neighborsToExploreAtInsert; + private final Optional<Boolean> multiThreadedIndexing; public static class Builder { private Optional<Integer> maxLinksPerNode = Optional.empty(); private Optional<Integer> neighborsToExploreAtInsert = Optional.empty(); + private Optional<Boolean> multiThreadedIndexing = Optional.empty(); public void setMaxLinksPerNode(int value) { maxLinksPerNode = Optional.of(value); @@ -27,20 +29,26 @@ public class HnswIndexParams { public void setNeighborsToExploreAtInsert(int value) { neighborsToExploreAtInsert = Optional.of(value); } + public void setMultiThreadedIndexing(boolean value) { + multiThreadedIndexing = Optional.of(value); + } public HnswIndexParams build() { - return new HnswIndexParams(maxLinksPerNode, neighborsToExploreAtInsert); + return new HnswIndexParams(maxLinksPerNode, neighborsToExploreAtInsert, multiThreadedIndexing); } } public HnswIndexParams() { this.maxLinksPerNode = Optional.empty(); this.neighborsToExploreAtInsert = Optional.empty(); + this.multiThreadedIndexing = Optional.empty(); } public HnswIndexParams(Optional<Integer> maxLinksPerNode, - Optional<Integer> neighborsToExploreAtInsert) { + Optional<Integer> neighborsToExploreAtInsert, + Optional<Boolean> multiThreadedIndexing) { this.maxLinksPerNode = maxLinksPerNode; this.neighborsToExploreAtInsert = neighborsToExploreAtInsert; + this.multiThreadedIndexing = multiThreadedIndexing; } /** @@ -51,7 +59,8 @@ public class HnswIndexParams { if (! other.isPresent()) return this; HnswIndexParams rhs = other.get(); return new HnswIndexParams(rhs.maxLinksPerNode.or(() -> maxLinksPerNode), - rhs.neighborsToExploreAtInsert.or(() -> neighborsToExploreAtInsert)); + rhs.neighborsToExploreAtInsert.or(() -> neighborsToExploreAtInsert), + rhs.multiThreadedIndexing.or(() -> multiThreadedIndexing)); } public int maxLinksPerNode() { @@ -61,4 +70,8 @@ public class HnswIndexParams { public int neighborsToExploreAtInsert() { return neighborsToExploreAtInsert.orElse(DEFAULT_NEIGHBORS_TO_EXPLORE_AT_INSERT); } + + public boolean multiThreadedIndexing() { + return multiThreadedIndexing.orElse(false); + } } diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj index 75ef3a831e8..68dafc5e578 100644 --- a/config-model/src/main/javacc/SDParser.jj +++ b/config-model/src/main/javacc/SDParser.jj @@ -337,6 +337,7 @@ TOKEN : | < MAXLINKSPERNODE: "max-links-per-node" > | < DISTANCEMETRIC: "distance-metric" > | < NEIGHBORSTOEXPLOREATINSERT: "neighbors-to-explore-at-insert" > +| < MULTITHREADEDINDEXING: "multi-threaded-indexing" > | < SUMMARYFEATURES_SL: "summary-features" (" ")* ":" (~["}","\n"])* ("\n")? > | < SUMMARYFEATURES_ML: "summary-features" (<SEARCHLIB_SKIP>)? "{" (~["}"])* "}" > | < SUMMARYFEATURES_ML_INHERITS: "summary-features inherits " (<IDENTIFIER>) (<SEARCHLIB_SKIP>)? "{" (~["}"])* "}" > @@ -1841,7 +1842,8 @@ void hnswIndexBody(HnswIndexParams.Builder params) : } { ( <MAXLINKSPERNODE> <COLON> num = integer() { params.setMaxLinksPerNode(num); } - | <NEIGHBORSTOEXPLOREATINSERT> <COLON> num = integer() { params.setNeighborsToExploreAtInsert(num); } ) + | <NEIGHBORSTOEXPLOREATINSERT> <COLON> num = integer() { params.setNeighborsToExploreAtInsert(num); } + | <MULTITHREADEDINDEXING> { params.setMultiThreadedIndexing(true); } ) } /** diff --git a/config-model/src/test/derived/advanced/attributes.cfg b/config-model/src/test/derived/advanced/attributes.cfg index 0217d957432..7f0c2400b9a 100644 --- a/config-model/src/test/derived/advanced/attributes.cfg +++ b/config-model/src/test/derived/advanced/attributes.cfg @@ -24,3 +24,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg index 8391a8a9bdd..807b514c8d6 100644 --- a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg +++ b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "elem_array.weight" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -50,3 +51,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/attributeprefetch/attributes.cfg b/config-model/src/test/derived/attributeprefetch/attributes.cfg index 448f9a82d36..b872efa3db8 100644 --- a/config-model/src/test/derived/attributeprefetch/attributes.cfg +++ b/config-model/src/test/derived/attributeprefetch/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "multibyte" attribute[].datatype INT8 attribute[].collectiontype ARRAY @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "wsbyte" attribute[].datatype INT8 attribute[].collectiontype WEIGHTEDSET @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "singleint" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "multiint" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "wsint" attribute[].datatype INT32 attribute[].collectiontype WEIGHTEDSET @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "singlelong" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "multilong" attribute[].datatype INT64 attribute[].collectiontype ARRAY @@ -206,6 +213,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "wslong" attribute[].datatype INT64 attribute[].collectiontype WEIGHTEDSET @@ -232,6 +240,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "singlefloat" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -258,6 +267,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "multifloat" attribute[].datatype FLOAT attribute[].collectiontype ARRAY @@ -284,6 +294,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "wsfloat" attribute[].datatype FLOAT attribute[].collectiontype WEIGHTEDSET @@ -310,6 +321,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "singledouble" attribute[].datatype DOUBLE attribute[].collectiontype SINGLE @@ -336,6 +348,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "multidouble" attribute[].datatype DOUBLE attribute[].collectiontype ARRAY @@ -362,6 +375,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "wsdouble" attribute[].datatype DOUBLE attribute[].collectiontype WEIGHTEDSET @@ -388,6 +402,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "singlestring" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -414,6 +429,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "multistring" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -440,6 +456,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "wsstring" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -466,3 +483,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/attributes/attributes.cfg b/config-model/src/test/derived/attributes/attributes.cfg index d88c6b8b70a..750749de45c 100644 --- a/config-model/src/test/derived/attributes/attributes.cfg +++ b/config-model/src/test/derived/attributes/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a2" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a3" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a5" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a6" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b1" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b2" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b3" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -206,6 +213,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b4" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -232,6 +240,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b5" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -258,6 +267,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b6" attribute[].datatype INT64 attribute[].collectiontype ARRAY @@ -284,6 +294,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b7" attribute[].datatype DOUBLE attribute[].collectiontype WEIGHTEDSET @@ -310,6 +321,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a9" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -336,6 +348,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a10" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -362,6 +375,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a11" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -388,6 +402,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a12" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -414,6 +429,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a7_arr" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -440,6 +456,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "a8_arr" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -466,3 +483,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/complex/attributes.cfg b/config-model/src/test/derived/complex/attributes.cfg index 337b736471d..f1449cf52be 100644 --- a/config-model/src/test/derived/complex/attributes.cfg +++ b/config-model/src/test/derived/complex/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "fleeting" attribute[].datatype FLOAT attribute[].collectiontype ARRAY @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "fleeting2" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "foundat" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "collapseby" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "ts" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "combineda" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "year_arr" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -206,6 +213,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "year_sub" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -232,3 +240,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/hnsw_index/attributes.cfg b/config-model/src/test/derived/hnsw_index/attributes.cfg index 087a116f4cd..9cea76174c7 100644 --- a/config-model/src/test/derived/hnsw_index/attributes.cfg +++ b/config-model/src/test/derived/hnsw_index/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled true attribute[].index.hnsw.maxlinkspernode 32 attribute[].index.hnsw.distancemetric ANGULAR attribute[].index.hnsw.neighborstoexploreatinsert 300 +attribute[].index.hnsw.multithreadedindexing true attribute[].name "t2" attribute[].datatype TENSOR attribute[].collectiontype SINGLE @@ -50,3 +51,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/hnsw_index/test.sd b/config-model/src/test/derived/hnsw_index/test.sd index 82291be9747..373624c9e7b 100644 --- a/config-model/src/test/derived/hnsw_index/test.sd +++ b/config-model/src/test/derived/hnsw_index/test.sd @@ -9,6 +9,7 @@ search test { hnsw { max-links-per-node: 32 neighbors-to-explore-at-insert: 300 + multi-threaded-indexing } } } diff --git a/config-model/src/test/derived/imported_position_field/attributes.cfg b/config-model/src/test/derived/imported_position_field/attributes.cfg index 685f708768a..75184c66789 100644 --- a/config-model/src/test/derived/imported_position_field/attributes.cfg +++ b/config-model/src/test/derived/imported_position_field/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_pos_zcurve" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -50,3 +51,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/imported_struct_fields/attributes.cfg b/config-model/src/test/derived/imported_struct_fields/attributes.cfg index e8b7a7b6235..6256f98d05f 100644 --- a/config-model/src/test/derived/imported_struct_fields/attributes.cfg +++ b/config-model/src/test/derived/imported_struct_fields/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_elem_array.name" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_elem_array.weight" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_elem_map.key" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_elem_map.value.name" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_elem_map.value.weight" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_str_int_map.key" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_str_int_map.value" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -206,3 +213,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/importedfields/attributes.cfg b/config-model/src/test/derived/importedfields/attributes.cfg index 6f3514102b4..87a841a95e0 100644 --- a/config-model/src/test/derived/importedfields/attributes.cfg +++ b/config-model/src/test/derived/importedfields/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b_ref" attribute[].datatype REFERENCE attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "b_ref_with_summary" attribute[].datatype REFERENCE attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_int_field" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_string_field" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_int_array_field" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_int_wset_field" attribute[].datatype INT32 attribute[].collectiontype WEIGHTEDSET @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "my_ancient_int_field" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -206,3 +213,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/inheritance/attributes.cfg b/config-model/src/test/derived/inheritance/attributes.cfg index 541092622ff..f5ced387e8e 100644 --- a/config-model/src/test/derived/inheritance/attributes.cfg +++ b/config-model/src/test/derived/inheritance/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "overridden" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "onlymother" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -76,3 +78,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/inheritfromparent/attributes.cfg b/config-model/src/test/derived/inheritfromparent/attributes.cfg index dda86f765be..26b0f77417a 100644 --- a/config-model/src/test/derived/inheritfromparent/attributes.cfg +++ b/config-model/src/test/derived/inheritfromparent/attributes.cfg @@ -24,3 +24,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/map_attribute/attributes.cfg b/config-model/src/test/derived/map_attribute/attributes.cfg index 702e065d15a..7f224ff0c6a 100644 --- a/config-model/src/test/derived/map_attribute/attributes.cfg +++ b/config-model/src/test/derived/map_attribute/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "str_map.value" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "int_map.key" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -76,3 +78,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg index 3eca0d5bbf8..f08fd4e8907 100644 --- a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg +++ b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "str_elem_map.value.name" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "str_elem_map.value.weight" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "int_elem_map.key" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "int_elem_map.value.name" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -128,3 +132,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/music/attributes.cfg b/config-model/src/test/derived/music/attributes.cfg index f75b8e06b80..d33313c30eb 100644 --- a/config-model/src/test/derived/music/attributes.cfg +++ b/config-model/src/test/derived/music/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "pto" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "mid" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "weight" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "bgnpfrom" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "newestedition" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "year" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "did" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -206,6 +213,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "cbid" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -232,6 +240,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "hiphopvalue_arr" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -258,6 +267,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "metalvalue_arr" attribute[].datatype STRING attribute[].collectiontype ARRAY @@ -284,3 +294,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/newrank/attributes.cfg b/config-model/src/test/derived/newrank/attributes.cfg index 303ea35223a..ae3a33e49c3 100644 --- a/config-model/src/test/derived/newrank/attributes.cfg +++ b/config-model/src/test/derived/newrank/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "pto" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "mid" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "weight" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "bgnpfrom" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "newestedition" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "year" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "did" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -206,6 +213,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "scorekey" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -232,6 +240,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "cbid" attribute[].datatype INT32 attribute[].collectiontype SINGLE @@ -258,3 +267,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/predicate_attribute/attributes.cfg b/config-model/src/test/derived/predicate_attribute/attributes.cfg index d095b68752a..b70804ed36d 100644 --- a/config-model/src/test/derived/predicate_attribute/attributes.cfg +++ b/config-model/src/test/derived/predicate_attribute/attributes.cfg @@ -24,3 +24,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/prefixexactattribute/attributes.cfg b/config-model/src/test/derived/prefixexactattribute/attributes.cfg index 5cae6b784ff..5e9930317cd 100644 --- a/config-model/src/test/derived/prefixexactattribute/attributes.cfg +++ b/config-model/src/test/derived/prefixexactattribute/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "attributefield2" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -50,3 +51,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/reference_fields/attributes.cfg b/config-model/src/test/derived/reference_fields/attributes.cfg index ec3ca030373..6bc8f93a4d4 100644 --- a/config-model/src/test/derived/reference_fields/attributes.cfg +++ b/config-model/src/test/derived/reference_fields/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "other_ref" attribute[].datatype REFERENCE attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "yet_another_ref" attribute[].datatype REFERENCE attribute[].collectiontype SINGLE @@ -76,3 +78,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/sorting/attributes.cfg b/config-model/src/test/derived/sorting/attributes.cfg index 6e50bd625ee..a957e1ae4dd 100644 --- a/config-model/src/test/derived/sorting/attributes.cfg +++ b/config-model/src/test/derived/sorting/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "syntaxcheck2" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "infieldonly" attribute[].datatype STRING attribute[].collectiontype SINGLE @@ -76,3 +78,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/tensor/attributes.cfg b/config-model/src/test/derived/tensor/attributes.cfg index 6ed960728c2..38d25a0faf0 100644 --- a/config-model/src/test/derived/tensor/attributes.cfg +++ b/config-model/src/test/derived/tensor/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "f3" attribute[].datatype TENSOR attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "f4" attribute[].datatype TENSOR attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "f5" attribute[].datatype TENSOR attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "f6" attribute[].datatype FLOAT attribute[].collectiontype SINGLE @@ -128,3 +132,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg index 8e37a1f1c63..536a2acba73 100644 --- a/config-model/src/test/derived/types/attributes.cfg +++ b/config-model/src/test/derived/types/attributes.cfg @@ -24,6 +24,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "along" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -50,6 +51,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "abool" attribute[].datatype BOOL attribute[].collectiontype SINGLE @@ -76,6 +78,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "ashortfloat" attribute[].datatype FLOAT16 attribute[].collectiontype SINGLE @@ -102,6 +105,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "arrayfield" attribute[].datatype INT32 attribute[].collectiontype ARRAY @@ -128,6 +132,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "setfield" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -154,6 +159,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "setfield2" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -180,6 +186,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "setfield3" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -206,6 +213,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "setfield4" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -232,6 +240,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "tagfield" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -258,6 +267,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "juletre" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -284,6 +294,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "album1" attribute[].datatype STRING attribute[].collectiontype WEIGHTEDSET @@ -310,6 +321,7 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false attribute[].name "other" attribute[].datatype INT64 attribute[].collectiontype SINGLE @@ -336,3 +348,4 @@ attribute[].index.hnsw.enabled false attribute[].index.hnsw.maxlinkspernode 16 attribute[].index.hnsw.distancemetric EUCLIDEAN attribute[].index.hnsw.neighborstoexploreatinsert 200 +attribute[].index.hnsw.multithreadedindexing false diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/document/HnswIndexParamsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/document/HnswIndexParamsTestCase.java index e3dcc925e5e..44379d25012 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/document/HnswIndexParamsTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/document/HnswIndexParamsTestCase.java @@ -17,29 +17,37 @@ public class HnswIndexParamsTestCase { var empty = new HnswIndexParams(); var builder = new HnswIndexParams.Builder(); builder.setMaxLinksPerNode(7); + builder.setMultiThreadedIndexing(false); var one = builder.build(); builder.setNeighborsToExploreAtInsert(42); var three = builder.build(); builder.setMaxLinksPerNode(17); builder.setNeighborsToExploreAtInsert(500); + builder.setMultiThreadedIndexing(true); var four = builder.build(); assertThat(empty.maxLinksPerNode(), is(16)); assertThat(empty.neighborsToExploreAtInsert(), is(200)); + assertThat(empty.multiThreadedIndexing(), is(false)); assertThat(one.maxLinksPerNode(), is(7)); + assertThat(one.multiThreadedIndexing(), is(false)); assertThat(three.neighborsToExploreAtInsert(), is(42)); assertThat(four.maxLinksPerNode(), is(17)); assertThat(four.neighborsToExploreAtInsert(), is(500)); + assertThat(four.multiThreadedIndexing(), is(true)); var five = four.overrideFrom(Optional.of(empty)); assertThat(five.maxLinksPerNode(), is(17)); assertThat(five.neighborsToExploreAtInsert(), is(500)); + assertThat(five.multiThreadedIndexing(), is(true)); var six = four.overrideFrom(Optional.of(one)); assertThat(six.maxLinksPerNode(), is(7)); assertThat(six.neighborsToExploreAtInsert(), is(500)); + // This is explicitly set to false in 'one' + assertThat(six.multiThreadedIndexing(), is(false)); } } |