nidx-binding 6.9.1.post600__tar.gz → 6.9.1.post603__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/PKG-INFO +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/nidx.proto +15 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/nodewriter.proto +1 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/pyproject.toml +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/src/lib.rs +1 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v1.rs +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v2/paragraph_store.rs +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v2/quant_vector_store.rs +7 -3
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v2/vector_store.rs +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store.rs +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/inverted_index/fst_index.rs +10 -5
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/inverted_index/map.rs +9 -4
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/inverted_index.rs +11 -4
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/segment.rs +24 -9
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/pyproject.toml +1 -1
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/api/grpc.rs +6 -2
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.config/nextest.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-8d33717587c6ee8f5fc339a80b1212a73d6c03e45856b1d55457fc8074709dd0.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/Cargo.lock +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/README.md +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/migrations/20241007163501_initial.sql +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/migrations/20241211120039_merge_job_priority.sql +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/migrations/20241211121159_basic_indexes.sql +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/migrations/20241212151105_check_segment_records.sql +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/migrations/20250110145554_in_flight_messages.sql +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_binding/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_binding/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/fuzzy_query.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_io.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_parser/fuzzy_parser.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_parser/keyword_parser.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_parser/stop_words.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_parser/tokenizer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_parser.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/reader.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/request_types.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/schema.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/search_query.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/search_response.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/set_query.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/README.md +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/ar.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/az.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/bn.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/ca.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/ch.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/da.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/de.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/el.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/en.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/es.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/eu.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/extract.py +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/fi.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/fr.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/he.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/hu.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/id.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/it.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/kk.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/ne.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/nl.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/no.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/pt.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/ro.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/ru.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/sl.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/sv.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/tg.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/tr.json +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/tests/reader.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/build.py +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/build.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/nodereader.proto +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_protos/noderesources.proto +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/graph_collector.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/graph_query_parser.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/io_maps.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/reader.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/schema.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/src/top_unique_n.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/tests/test_graph_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_relation/tests/test_writer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tantivy/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tantivy/src/index_reader.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tantivy/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tantivy/src/utils.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tests/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tests/src/graph.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_tests/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/prefilter.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/query_io.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/reader.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/request_types.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/schema.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/src/search_query.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/tests/test_deletions.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/tests/test_flow.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/tests/test_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_text/tests/test_streaming.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_types/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_types/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_types/src/prefilter.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_types/src/query_language.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/config.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v1/node.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v1/store.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v1/trie.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v1/trie_ram.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_store/v2.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/data_types.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/formula.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/hnsw/disk_hnsw.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/hnsw/ops_hnsw.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/hnsw/params.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/hnsw/ram_hnsw.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/hnsw.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/indexer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/multivector.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/query_io.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/request_types.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/searcher.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/segment/tests.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/utils.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/vector_types/mod.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/vector_types/rabitq.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/tests/test_basic_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/tests/test_hidden.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/tests/test_maxsim.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/api/shards.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/api.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/control.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/errors.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/grpc_server.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/import_export.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/indexer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/main.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata/deletion.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata/index.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata/index_request.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata/merge_job.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata/segment.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata/shard.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metadata.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/metrics.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler/audit_task.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler/log_merge.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler/merge_task.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler/metrics_task.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler/purge_tasks.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler/vector_merge.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/scheduler.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/grpc.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/index_cache.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/query_language.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/query_planner.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/shard_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/shard_selector.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/shard_suggest.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/streams.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher/sync.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/searcher.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/segment_store.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/settings.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/telemetry/duration_layer.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/telemetry/log_format.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/telemetry/middleware.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/telemetry.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/tool.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/utilization_tracker.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/src/worker.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/common/services.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_date_range_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_search_filtering.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_search_relations.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_search_sorting.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_searcher_cluster.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_security_search.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_shards.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_shards_api.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_suggest.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_synced_searcher.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_vector_normalization.rs +0 -0
- {nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/tests/test_vectorsets.rs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nidx_binding
|
|
3
|
-
Version: 6.9.1.
|
|
3
|
+
Version: 6.9.1.post603
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
@@ -7,10 +7,10 @@ import "nidx_protos/nodewriter.proto";
|
|
|
7
7
|
|
|
8
8
|
service NidxApi {
|
|
9
9
|
rpc GetShard(nodereader.GetShardRequest) returns (noderesources.Shard) {}
|
|
10
|
-
|
|
11
10
|
rpc NewShard(nodewriter.NewShardRequest) returns (noderesources.ShardCreated) {}
|
|
12
11
|
rpc DeleteShard(noderesources.ShardId) returns (noderesources.ShardId) {}
|
|
13
12
|
rpc ListShards(noderesources.EmptyQuery) returns (noderesources.ShardIds) {}
|
|
13
|
+
rpc ConfigureShards(ShardsConfig) returns (noderesources.EmptyQuery) {}
|
|
14
14
|
|
|
15
15
|
rpc AddVectorSet(nodewriter.NewVectorSetRequest) returns (nodewriter.OpStatus) {}
|
|
16
16
|
rpc RemoveVectorSet(noderesources.VectorSetID) returns (nodewriter.OpStatus) {}
|
|
@@ -43,3 +43,17 @@ message Notification {
|
|
|
43
43
|
}
|
|
44
44
|
Action action = 6;
|
|
45
45
|
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
message ShardsConfig {
|
|
49
|
+
repeated ShardConfig configs = 1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
message ShardConfig {
|
|
53
|
+
string shard_id = 1;
|
|
54
|
+
|
|
55
|
+
// Pre-warm is a feature to minimize cold starts on searches. It'll keep
|
|
56
|
+
// disk data in memory to avoid IO latency, at expenses of RAM usage. Use
|
|
57
|
+
// with care.
|
|
58
|
+
bool prewarm_enabled = 2;
|
|
59
|
+
}
|
|
@@ -10,7 +10,7 @@ build-backend = "pdm.backend"
|
|
|
10
10
|
|
|
11
11
|
[project]
|
|
12
12
|
name = "nidx_protos"
|
|
13
|
-
version = "6.9.1.
|
|
13
|
+
version = "6.9.1.post603"
|
|
14
14
|
license = "AGPL-3.0-or-later"
|
|
15
15
|
description = "Protobuf definitions for nucliadb/nidx"
|
|
16
16
|
authors = [{ name = "Nuclia", email = "nucliadb@nuclia.com" }]
|
|
@@ -98,7 +98,7 @@ impl DataStoreV1 {
|
|
|
98
98
|
{
|
|
99
99
|
let advice = match reason {
|
|
100
100
|
OpenReason::Create => memmap2::Advice::Sequential,
|
|
101
|
-
OpenReason::Search => memmap2::Advice::Random,
|
|
101
|
+
OpenReason::Search { .. } => memmap2::Advice::Random,
|
|
102
102
|
};
|
|
103
103
|
nodes.advise(advice)?;
|
|
104
104
|
}
|
|
@@ -90,7 +90,7 @@ impl ParagraphStore {
|
|
|
90
90
|
pos.advise(memmap2::Advice::WillNeed)?;
|
|
91
91
|
let advice = match reason {
|
|
92
92
|
OpenReason::Create => memmap2::Advice::Sequential,
|
|
93
|
-
OpenReason::Search => memmap2::Advice::Random,
|
|
93
|
+
OpenReason::Search { .. } => memmap2::Advice::Random,
|
|
94
94
|
};
|
|
95
95
|
data.advise(advice)?;
|
|
96
96
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
//
|
|
20
20
|
|
|
21
21
|
use lazy_static::lazy_static;
|
|
22
|
-
use memmap2::Mmap;
|
|
22
|
+
use memmap2::{Mmap, MmapOptions};
|
|
23
23
|
use std::{
|
|
24
24
|
fs::File,
|
|
25
25
|
io::{BufWriter, Write as _},
|
|
@@ -41,13 +41,17 @@ pub struct QuantVectorStore {
|
|
|
41
41
|
|
|
42
42
|
impl QuantVectorStore {
|
|
43
43
|
pub fn open(path: &Path, vector_len_bytes: usize, reason: &OpenReason) -> std::io::Result<Self> {
|
|
44
|
-
let
|
|
44
|
+
let mut options = MmapOptions::new();
|
|
45
|
+
if matches!(reason, OpenReason::Search { prewarm: true }) {
|
|
46
|
+
options.populate();
|
|
47
|
+
}
|
|
48
|
+
let data = unsafe { options.map(&File::open(path.join(FILENAME))?)? };
|
|
45
49
|
|
|
46
50
|
#[cfg(not(target_os = "windows"))]
|
|
47
51
|
{
|
|
48
52
|
let advice = match reason {
|
|
49
53
|
OpenReason::Create => memmap2::Advice::Sequential,
|
|
50
|
-
OpenReason::Search => memmap2::Advice::Random,
|
|
54
|
+
OpenReason::Search { .. } => memmap2::Advice::Random,
|
|
51
55
|
};
|
|
52
56
|
data.advise(advice)?;
|
|
53
57
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
use std::{collections::HashSet, fs::File, io::BufWriter, path::Path, sync::Arc};
|
|
21
21
|
|
|
22
22
|
use fst::{Automaton, IntoStreamer, Map, Streamer};
|
|
23
|
-
use memmap2::Mmap;
|
|
23
|
+
use memmap2::{Mmap, MmapOptions};
|
|
24
24
|
|
|
25
25
|
use crate::VectorR;
|
|
26
26
|
|
|
@@ -59,9 +59,14 @@ pub struct FstIndexReader {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
impl FstIndexReader {
|
|
62
|
-
pub fn open(path: &Path, map_reader: Arc<InvertedMapReader
|
|
62
|
+
pub fn open(path: &Path, map_reader: Arc<InvertedMapReader>, prewarm: bool) -> VectorR<Self> {
|
|
63
|
+
let mut options = MmapOptions::new();
|
|
64
|
+
if prewarm {
|
|
65
|
+
options.populate();
|
|
66
|
+
}
|
|
67
|
+
|
|
63
68
|
Ok(Self {
|
|
64
|
-
fst: Map::new(unsafe {
|
|
69
|
+
fst: Map::new(unsafe { options.map(&File::open(path)?)? })?,
|
|
65
70
|
map_reader,
|
|
66
71
|
})
|
|
67
72
|
}
|
|
@@ -132,8 +137,8 @@ mod tests {
|
|
|
132
137
|
map_writer.finish()?;
|
|
133
138
|
|
|
134
139
|
// Check the map has the same contents we initialized
|
|
135
|
-
let map_reader = Arc::new(InvertedMapReader::open(tmp_map.path())?);
|
|
136
|
-
let reader = FstIndexReader::open(tmp.path(), map_reader)?;
|
|
140
|
+
let map_reader = Arc::new(InvertedMapReader::open(tmp_map.path(), false)?);
|
|
141
|
+
let reader = FstIndexReader::open(tmp.path(), map_reader, false)?;
|
|
137
142
|
|
|
138
143
|
for (key, value) in entries {
|
|
139
144
|
let indexed = reader.get(&key);
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_vector/src/inverted_index/map.rs
RENAMED
|
@@ -23,7 +23,7 @@ use std::{
|
|
|
23
23
|
path::Path,
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
use memmap2::Mmap;
|
|
26
|
+
use memmap2::{Mmap, MmapOptions};
|
|
27
27
|
use stream_vbyte::{decode::decode, encode::encode, scalar::Scalar};
|
|
28
28
|
|
|
29
29
|
use crate::VectorR;
|
|
@@ -67,9 +67,14 @@ pub struct InvertedMapReader {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
impl InvertedMapReader {
|
|
70
|
-
pub fn open(path: &Path) -> VectorR<Self> {
|
|
70
|
+
pub fn open(path: &Path, prewarm: bool) -> VectorR<Self> {
|
|
71
|
+
let mut options = MmapOptions::new();
|
|
72
|
+
if prewarm {
|
|
73
|
+
options.populate();
|
|
74
|
+
}
|
|
75
|
+
|
|
71
76
|
Ok(Self {
|
|
72
|
-
data: unsafe {
|
|
77
|
+
data: unsafe { options.map(&File::open(path)?)? },
|
|
73
78
|
})
|
|
74
79
|
}
|
|
75
80
|
|
|
@@ -120,7 +125,7 @@ mod tests {
|
|
|
120
125
|
writer.finish()?;
|
|
121
126
|
|
|
122
127
|
// Check the map has the same contents we initialized
|
|
123
|
-
let reader = InvertedMapReader::open(tmp.path())?;
|
|
128
|
+
let reader = InvertedMapReader::open(tmp.path(), false)?;
|
|
124
129
|
for i in 0..20 {
|
|
125
130
|
let indexed = reader.get(indexes[i]);
|
|
126
131
|
assert_eq!(indexed, entries[i]);
|
|
@@ -151,6 +151,10 @@ pub fn build_indexes(work_path: &Path, data_store: &impl DataStore) -> VectorR<(
|
|
|
151
151
|
Ok(())
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
+
pub struct OpenOptions {
|
|
155
|
+
pub prewarm: bool,
|
|
156
|
+
}
|
|
157
|
+
|
|
154
158
|
pub struct InvertedIndexes {
|
|
155
159
|
field_index: FstIndexReader,
|
|
156
160
|
label_index: FstIndexReader,
|
|
@@ -166,10 +170,13 @@ impl InvertedIndexes {
|
|
|
166
170
|
path.join(file::INDEX_MAP).exists()
|
|
167
171
|
}
|
|
168
172
|
|
|
169
|
-
pub fn open(work_path: &Path, records: usize) -> VectorR<Self> {
|
|
170
|
-
let map = Arc::new(InvertedMapReader::open(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
+
pub fn open(work_path: &Path, records: usize, options: OpenOptions) -> VectorR<Self> {
|
|
174
|
+
let map = Arc::new(InvertedMapReader::open(
|
|
175
|
+
&work_path.join(file::INDEX_MAP),
|
|
176
|
+
options.prewarm,
|
|
177
|
+
)?);
|
|
178
|
+
let field_index = FstIndexReader::open(&work_path.join(file::FIELD_INDEX), map.clone(), options.prewarm)?;
|
|
179
|
+
let label_index = FstIndexReader::open(&work_path.join(file::LABEL_INDEX), map, options.prewarm)?;
|
|
173
180
|
|
|
174
181
|
Ok(Self {
|
|
175
182
|
field_index,
|
|
@@ -24,13 +24,13 @@ mod tests;
|
|
|
24
24
|
use crate::config::{VectorConfig, flags};
|
|
25
25
|
use crate::data_store::{DataStore, DataStoreV1, DataStoreV2, OpenReason, ParagraphRef, VectorRef};
|
|
26
26
|
use crate::formula::Formula;
|
|
27
|
-
use crate::hnsw::*;
|
|
28
27
|
use crate::inverted_index::{FilterBitSet, InvertedIndexes, build_indexes};
|
|
29
28
|
use crate::vector_types::rabitq;
|
|
30
29
|
use crate::{ParagraphAddr, VectorAddr, VectorErr, VectorR, VectorSegmentMeta, VectorSegmentMetadata};
|
|
30
|
+
use crate::{hnsw::*, inverted_index};
|
|
31
31
|
use core::f32;
|
|
32
32
|
use io::{BufWriter, Write};
|
|
33
|
-
use memmap2::Mmap;
|
|
33
|
+
use memmap2::{Mmap, MmapOptions};
|
|
34
34
|
use std::cmp::Reverse;
|
|
35
35
|
use std::collections::HashSet;
|
|
36
36
|
use std::fs::File;
|
|
@@ -48,9 +48,12 @@ mod file_names {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
pub fn open(metadata: VectorSegmentMetadata, config: &VectorConfig) -> VectorR<OpenSegment> {
|
|
51
|
+
// TODO: we should get this flag from the VectorConfig or some other place
|
|
52
|
+
let prewarm = false;
|
|
53
|
+
|
|
51
54
|
let path = &metadata.path;
|
|
52
55
|
let data_store: Box<dyn DataStore> = if DataStoreV1::exists(path)? {
|
|
53
|
-
let data_store = DataStoreV1::open(path, &config.vector_type, OpenReason::Search)?;
|
|
56
|
+
let data_store = DataStoreV1::open(path, &config.vector_type, OpenReason::Search { prewarm })?;
|
|
54
57
|
// Build the index at runtime if they do not exist. This can
|
|
55
58
|
// be removed once we have migrated all existing indexes
|
|
56
59
|
if !InvertedIndexes::exists(path) {
|
|
@@ -58,7 +61,7 @@ pub fn open(metadata: VectorSegmentMetadata, config: &VectorConfig) -> VectorR<O
|
|
|
58
61
|
}
|
|
59
62
|
Box::new(data_store)
|
|
60
63
|
} else {
|
|
61
|
-
let data_store = DataStoreV2::open(path, &config.vector_type, OpenReason::Search)?;
|
|
64
|
+
let data_store = DataStoreV2::open(path, &config.vector_type, OpenReason::Search { prewarm })?;
|
|
62
65
|
// Build the index at runtime if they do not exist. This can
|
|
63
66
|
// be removed once we have migrated all existing indexes
|
|
64
67
|
if !InvertedIndexes::exists(path) {
|
|
@@ -66,9 +69,13 @@ pub fn open(metadata: VectorSegmentMetadata, config: &VectorConfig) -> VectorR<O
|
|
|
66
69
|
}
|
|
67
70
|
Box::new(data_store)
|
|
68
71
|
};
|
|
69
|
-
let hnsw_file = File::open(path.join(file_names::HNSW))?;
|
|
70
72
|
|
|
71
|
-
let
|
|
73
|
+
let hnsw_file = File::open(path.join(file_names::HNSW))?;
|
|
74
|
+
let mut index_options = MmapOptions::new();
|
|
75
|
+
if prewarm {
|
|
76
|
+
index_options.populate();
|
|
77
|
+
}
|
|
78
|
+
let index = unsafe { index_options.map(&hnsw_file)? };
|
|
72
79
|
|
|
73
80
|
// Telling the OS our expected access pattern
|
|
74
81
|
#[cfg(not(target_os = "windows"))]
|
|
@@ -77,7 +84,7 @@ pub fn open(metadata: VectorSegmentMetadata, config: &VectorConfig) -> VectorR<O
|
|
|
77
84
|
index.advise(memmap2::Advice::WillNeed)?;
|
|
78
85
|
}
|
|
79
86
|
|
|
80
|
-
let inverted_indexes = InvertedIndexes::open(path, metadata.records)?;
|
|
87
|
+
let inverted_indexes = InvertedIndexes::open(path, metadata.records, inverted_index::OpenOptions { prewarm })?;
|
|
81
88
|
let alive_bitset = FilterBitSet::new(metadata.records, true);
|
|
82
89
|
|
|
83
90
|
Ok(OpenSegment {
|
|
@@ -189,7 +196,11 @@ fn merge_indexes<DS: DataStore + 'static>(
|
|
|
189
196
|
};
|
|
190
197
|
|
|
191
198
|
build_indexes(segment_path, &data_store)?;
|
|
192
|
-
let inverted_indexes = InvertedIndexes::open(
|
|
199
|
+
let inverted_indexes = InvertedIndexes::open(
|
|
200
|
+
segment_path,
|
|
201
|
+
merged_vectors_count as usize,
|
|
202
|
+
inverted_index::OpenOptions { prewarm: false },
|
|
203
|
+
)?;
|
|
193
204
|
let alive_bitset = FilterBitSet::new(metadata.records, true);
|
|
194
205
|
|
|
195
206
|
Ok(OpenSegment {
|
|
@@ -289,7 +300,11 @@ fn create_indexes<DS: DataStore + 'static>(
|
|
|
289
300
|
};
|
|
290
301
|
|
|
291
302
|
build_indexes(path, &data_store)?;
|
|
292
|
-
let inverted_indexes = InvertedIndexes::open(
|
|
303
|
+
let inverted_indexes = InvertedIndexes::open(
|
|
304
|
+
path,
|
|
305
|
+
vector_count as usize,
|
|
306
|
+
inverted_index::OpenOptions { prewarm: false },
|
|
307
|
+
)?;
|
|
293
308
|
let alive_bitset = FilterBitSet::new(metadata.records, true);
|
|
294
309
|
|
|
295
310
|
Ok(OpenSegment {
|
|
@@ -13,7 +13,7 @@ classifiers = [
|
|
|
13
13
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
14
14
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
15
15
|
]
|
|
16
|
-
version = "6.9.1.
|
|
16
|
+
version = "6.9.1.post603"
|
|
17
17
|
|
|
18
18
|
[project.urls]
|
|
19
19
|
Homepage = "https://nuclia.com"
|
|
@@ -23,8 +23,6 @@ use std::io::Write;
|
|
|
23
23
|
use std::str::FromStr;
|
|
24
24
|
use std::sync::Arc;
|
|
25
25
|
|
|
26
|
-
use crate::errors::NidxError;
|
|
27
|
-
use crate::metadata::{Index, IndexId, IndexKind, Shard};
|
|
28
26
|
use axum::body::{Body, Bytes};
|
|
29
27
|
use axum::extract::{Path, State};
|
|
30
28
|
use axum::http::StatusCode;
|
|
@@ -41,6 +39,8 @@ use tracing::error;
|
|
|
41
39
|
use uuid::Uuid;
|
|
42
40
|
|
|
43
41
|
use crate::api::shards;
|
|
42
|
+
use crate::errors::NidxError;
|
|
43
|
+
use crate::metadata::{Index, IndexId, IndexKind, Shard};
|
|
44
44
|
use crate::{NidxMetadata, Settings, import_export};
|
|
45
45
|
|
|
46
46
|
#[derive(Clone)]
|
|
@@ -139,6 +139,10 @@ impl NidxApi for ApiServer {
|
|
|
139
139
|
}))
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
async fn configure_shards(&self, _request: Request<ShardsConfig>) -> Result<Response<EmptyQuery>> {
|
|
143
|
+
Ok(Response::new(EmptyQuery {}))
|
|
144
|
+
}
|
|
145
|
+
|
|
142
146
|
async fn add_vector_set(&self, request: Request<NewVectorSetRequest>) -> Result<Response<OpStatus>> {
|
|
143
147
|
let request = request.into_inner();
|
|
144
148
|
let Some(VectorSetId {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/migrations/20241007163501_initial.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/query_parser.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/request_types.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/resource_indexer.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/search_query.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/src/search_response.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post600 → nidx_binding-6.9.1.post603}/nidx_paragraph/stop_words/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|