nidx-binding 6.9.1.post603__tar.gz → 6.9.1.post616__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.post603 → nidx_binding-6.9.1.post616}/PKG-INFO +1 -1
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/pyproject.toml +1 -1
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/hnsw/ops_hnsw.rs +49 -35
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/hnsw/params.rs +4 -1
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/hnsw.rs +1 -1
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/segment.rs +2 -1
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/pyproject.toml +1 -1
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.config/nextest.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-8d33717587c6ee8f5fc339a80b1212a73d6c03e45856b1d55457fc8074709dd0.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/Cargo.lock +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/README.md +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/migrations/20241007163501_initial.sql +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/migrations/20241211120039_merge_job_priority.sql +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/migrations/20241211121159_basic_indexes.sql +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/migrations/20241212151105_check_segment_records.sql +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/migrations/20250110145554_in_flight_messages.sql +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_binding/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_binding/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/fuzzy_query.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_io.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_parser/fuzzy_parser.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_parser/keyword_parser.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_parser/stop_words.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_parser/tokenizer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_parser.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/reader.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/request_types.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/schema.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/search_query.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/search_response.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/set_query.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/README.md +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/ar.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/az.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/bn.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/ca.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/ch.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/da.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/de.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/el.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/en.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/es.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/eu.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/extract.py +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/fi.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/fr.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/he.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/hu.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/id.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/it.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/kk.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/ne.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/nl.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/no.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/pt.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/ro.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/ru.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/sl.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/sv.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/tg.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/tr.json +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/tests/reader.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/build.py +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/build.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/nidx.proto +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/nodereader.proto +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/noderesources.proto +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/nodewriter.proto +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_protos/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/graph_collector.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/graph_query_parser.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/io_maps.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/reader.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/schema.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/top_unique_n.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/tests/test_graph_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/tests/test_writer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tantivy/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tantivy/src/index_reader.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tantivy/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tantivy/src/utils.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tests/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tests/src/graph.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_tests/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/prefilter.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/query_io.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/reader.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/request_types.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/schema.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/src/search_query.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/tests/test_deletions.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/tests/test_flow.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/tests/test_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_text/tests/test_streaming.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_types/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_types/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_types/src/prefilter.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_types/src/query_language.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/Cargo.toml +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/config.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v1/node.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v1/store.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v1/trie.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v1/trie_ram.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v1.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v2/paragraph_store.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v2/quant_vector_store.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v2/vector_store.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store/v2.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_store.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/data_types.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/formula.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/hnsw/disk_hnsw.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/hnsw/ram_hnsw.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/indexer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/inverted_index/map.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/inverted_index.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/multivector.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/query_io.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/request_types.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/searcher.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/segment/tests.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/utils.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/vector_types/mod.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/src/vector_types/rabitq.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/tests/test_basic_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/tests/test_hidden.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_vector/tests/test_maxsim.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/api/grpc.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/api/shards.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/api.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/control.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/errors.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/grpc_server.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/import_export.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/indexer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/lib.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/main.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata/deletion.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata/index.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata/index_request.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata/merge_job.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata/segment.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata/shard.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metadata.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/metrics.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler/audit_task.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler/log_merge.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler/merge_task.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler/metrics_task.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler/purge_tasks.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler/vector_merge.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/scheduler.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/grpc.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/index_cache.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/query_language.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/query_planner.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/shard_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/shard_selector.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/shard_suggest.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/streams.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher/sync.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/searcher.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/segment_store.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/settings.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/telemetry/duration_layer.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/telemetry/log_format.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/telemetry/middleware.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/telemetry.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/tool.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/utilization_tracker.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/src/worker.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/common/services.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_date_range_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_search_filtering.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_search_relations.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_search_sorting.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_searcher_cluster.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_security_search.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_shards.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_shards_api.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_suggest.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_synced_searcher.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/tests/test_vector_normalization.rs +0 -0
- {nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/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.post616
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
@@ -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.post616"
|
|
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" }]
|
|
@@ -29,6 +29,8 @@ use std::collections::{BinaryHeap, HashMap, HashSet, VecDeque};
|
|
|
29
29
|
use std::time::Instant;
|
|
30
30
|
use tracing::trace;
|
|
31
31
|
|
|
32
|
+
use crate::config::{VectorCardinality, VectorConfig};
|
|
33
|
+
use crate::hnsw::params::EF_SEARCH;
|
|
32
34
|
use crate::inverted_index::FilterBitSet;
|
|
33
35
|
use crate::vector_types::rabitq;
|
|
34
36
|
use crate::{ParagraphAddr, VectorAddr};
|
|
@@ -136,31 +138,48 @@ impl PartialOrd for CnxWithBound {
|
|
|
136
138
|
pub type Neighbours = Vec<(VectorAddr, f32)>;
|
|
137
139
|
|
|
138
140
|
/// Guides an algorithm to the valid nodes.
|
|
139
|
-
struct NodeFilter<'a
|
|
140
|
-
retriever: &'a DR,
|
|
141
|
+
pub struct NodeFilter<'a> {
|
|
141
142
|
filter: &'a FilterBitSet,
|
|
142
|
-
paragraphs: FxHashSet<ParagraphAddr
|
|
143
|
+
paragraphs: Option<FxHashSet<ParagraphAddr>>,
|
|
143
144
|
vec_counter: RepCounter<'a>,
|
|
144
145
|
}
|
|
145
146
|
|
|
146
|
-
impl<
|
|
147
|
-
pub fn
|
|
148
|
-
|
|
147
|
+
impl<'a> NodeFilter<'a> {
|
|
148
|
+
pub fn new(filter: &'a FilterBitSet, with_duplicates: bool, config: &VectorConfig) -> NodeFilter<'a> {
|
|
149
|
+
let paragraphs = matches!(config.vector_cardinality, VectorCardinality::Multi).then_some(Default::default());
|
|
150
|
+
let vec_counter = RepCounter::new(!with_duplicates);
|
|
151
|
+
NodeFilter {
|
|
152
|
+
filter,
|
|
153
|
+
paragraphs,
|
|
154
|
+
vec_counter,
|
|
155
|
+
}
|
|
149
156
|
}
|
|
150
157
|
|
|
151
|
-
pub fn
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
&& !self.paragraphs.contains(&self.retriever.paragraph(n))
|
|
155
|
-
// Reject the candidate if we already have a result with an identical vector
|
|
156
|
-
&& self.vec_counter.get(self.retriever.get_vector(n)) == 0
|
|
157
|
-
}
|
|
158
|
+
pub fn passes(&mut self, retriever: &'a impl DataRetriever, v: VectorAddr) -> bool {
|
|
159
|
+
let vector = retriever.get_vector(v);
|
|
160
|
+
let paragraph = retriever.paragraph(v);
|
|
158
161
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
// Matches query filters?
|
|
163
|
+
if !self.filter.contains(paragraph) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Is a duplicated vector?
|
|
168
|
+
if self.vec_counter.get(vector) > 0 {
|
|
169
|
+
return false;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// Is a vector for an existing paragraph? (only relevant in multi-vector search)
|
|
173
|
+
if let Some(paragraphs) = &mut self.paragraphs
|
|
174
|
+
&& !paragraphs.insert(paragraph)
|
|
175
|
+
{
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Track the vector for duplicates (the paragraphs was tracked in the above check)
|
|
180
|
+
self.vec_counter.add(vector);
|
|
181
|
+
|
|
182
|
+
true
|
|
164
183
|
}
|
|
165
184
|
}
|
|
166
185
|
|
|
@@ -228,7 +247,7 @@ impl<'a, DR: DataRetriever> HnswOps<'a, DR> {
|
|
|
228
247
|
query: &SearchVector,
|
|
229
248
|
layer: L,
|
|
230
249
|
number_of_results: usize,
|
|
231
|
-
mut filter: NodeFilter<'a
|
|
250
|
+
mut filter: NodeFilter<'a>,
|
|
232
251
|
) -> Vec<(VectorAddr, f32)> {
|
|
233
252
|
// We just need to perform BFS, the replacement is the closest node to the actual
|
|
234
253
|
// best solution. This algorithm takes a lazy approach to computing the similarity of
|
|
@@ -253,9 +272,7 @@ impl<'a, DR: DataRetriever> HnswOps<'a, DR> {
|
|
|
253
272
|
break;
|
|
254
273
|
}
|
|
255
274
|
|
|
256
|
-
|
|
257
|
-
if filter.is_valid(candidate, candidate_similarity) && filter.passes_formula(paragraph_addr) {
|
|
258
|
-
filter.add_result(candidate);
|
|
275
|
+
if !candidate_similarity.is_nan() && filter.passes(self.retriever, candidate) {
|
|
259
276
|
results.push((candidate, candidate_similarity));
|
|
260
277
|
}
|
|
261
278
|
|
|
@@ -338,7 +355,10 @@ impl<'a, DR: DataRetriever> HnswOps<'a, DR> {
|
|
|
338
355
|
_ => (),
|
|
339
356
|
}
|
|
340
357
|
}
|
|
341
|
-
ms_neighbours
|
|
358
|
+
ms_neighbours
|
|
359
|
+
.into_sorted_vec()
|
|
360
|
+
.into_iter()
|
|
361
|
+
.map(|Reverse(CnxWithBound(n, d))| (n, d))
|
|
342
362
|
}
|
|
343
363
|
|
|
344
364
|
fn layer_insert(
|
|
@@ -408,8 +428,7 @@ impl<'a, DR: DataRetriever> HnswOps<'a, DR> {
|
|
|
408
428
|
query: &SearchVector,
|
|
409
429
|
hnsw: H,
|
|
410
430
|
k_neighbours: usize,
|
|
411
|
-
|
|
412
|
-
with_duplicates: bool,
|
|
431
|
+
filter: NodeFilter,
|
|
413
432
|
) -> Neighbours {
|
|
414
433
|
if k_neighbours == 0 {
|
|
415
434
|
return Neighbours::with_capacity(0);
|
|
@@ -442,7 +461,10 @@ impl<'a, DR: DataRetriever> HnswOps<'a, DR> {
|
|
|
442
461
|
let last_layer_k = if original_query.is_some() {
|
|
443
462
|
std::cmp::min(k_neighbours * rabitq::RERANKING_FACTOR, rabitq::RERANKING_LIMIT)
|
|
444
463
|
} else {
|
|
445
|
-
|
|
464
|
+
// We search for at least EF_SEARCH neighbours to guarantee good results
|
|
465
|
+
// In the case k > EF we could use EF search and expand the search with
|
|
466
|
+
// closest_up_nodes()
|
|
467
|
+
std::cmp::max(k_neighbours, EF_SEARCH)
|
|
446
468
|
};
|
|
447
469
|
|
|
448
470
|
// Find the best k nodes in the last layer
|
|
@@ -466,20 +488,12 @@ impl<'a, DR: DataRetriever> HnswOps<'a, DR> {
|
|
|
466
488
|
neighbours.map(|(addr, _)| addr).collect()
|
|
467
489
|
};
|
|
468
490
|
|
|
469
|
-
let filter = NodeFilter {
|
|
470
|
-
filter: with_filter,
|
|
471
|
-
retriever: self.retriever,
|
|
472
|
-
paragraphs: Default::default(),
|
|
473
|
-
vec_counter: RepCounter::new(!with_duplicates),
|
|
474
|
-
};
|
|
475
|
-
let layer_zero = hnsw.get_layer(0);
|
|
476
|
-
|
|
477
491
|
// Find k nodes that match the filter in the last layer
|
|
478
492
|
let t = Instant::now();
|
|
479
493
|
let mut filtered_result = self.closest_up_nodes(
|
|
480
494
|
entry_points,
|
|
481
495
|
original_query.unwrap_or(query),
|
|
482
|
-
|
|
496
|
+
hnsw.get_layer(0),
|
|
483
497
|
k_neighbours,
|
|
484
498
|
filter,
|
|
485
499
|
);
|
|
@@ -44,5 +44,8 @@ pub const M_MAX: usize = 30;
|
|
|
44
44
|
/// Number of bi-directional links created for every new element.
|
|
45
45
|
pub const M: usize = 30;
|
|
46
46
|
|
|
47
|
-
/// Number of neighbours that are
|
|
47
|
+
/// Number of neighbours that are explored when searching for the insertion place of a new node
|
|
48
48
|
pub const EF_CONSTRUCTION: usize = 100;
|
|
49
|
+
|
|
50
|
+
/// Number of neighbours that are explored when searching for a query
|
|
51
|
+
pub const EF_SEARCH: usize = 30;
|
|
@@ -24,5 +24,5 @@ mod params;
|
|
|
24
24
|
mod ram_hnsw;
|
|
25
25
|
|
|
26
26
|
pub use disk_hnsw::DiskHnsw;
|
|
27
|
-
pub use ops_hnsw::{Cnx, DataRetriever, EstimatedScore, HnswOps, SearchVector};
|
|
27
|
+
pub use ops_hnsw::{Cnx, DataRetriever, EstimatedScore, HnswOps, NodeFilter, SearchVector};
|
|
28
28
|
pub use ram_hnsw::RAMHnsw;
|
|
@@ -548,7 +548,8 @@ impl OpenSegment {
|
|
|
548
548
|
} else {
|
|
549
549
|
method = "hnsw";
|
|
550
550
|
let ops = HnswOps::new(&retriever, true);
|
|
551
|
-
let
|
|
551
|
+
let filter = NodeFilter::new(bitset, with_duplicates, config);
|
|
552
|
+
let neighbours = ops.search(encoded_query, self.index.as_ref(), top_k, filter);
|
|
552
553
|
Box::new(
|
|
553
554
|
neighbours
|
|
554
555
|
.into_iter()
|
|
@@ -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.post616"
|
|
17
17
|
|
|
18
18
|
[project.urls]
|
|
19
19
|
Homepage = "https://nuclia.com"
|
|
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.post603 → nidx_binding-6.9.1.post616}/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.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/query_parser.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/request_types.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/resource_indexer.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/search_query.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/src/search_response.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/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
|
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/stop_words/extract.py
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_paragraph/tests/common/mod.rs
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
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/graph_collector.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/graph_query_parser.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/src/resource_indexer.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/tests/test_graph_search.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.1.post603 → nidx_binding-6.9.1.post616}/nidx_relation/tests/test_writer.rs
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
|