nidx-binding 6.3.5.post215__tar.gz → 6.3.5.post220__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.3.5.post215 → nidx_binding-6.3.5.post220}/PKG-INFO +1 -1
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_protos/pyproject.toml +1 -1
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/lib.rs +1 -1
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/reader.rs +7 -86
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/resource_indexer.rs +8 -5
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/schema.rs +59 -8
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/pyproject.toml +1 -1
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata/index.rs +2 -2
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-77a245aed9f6f8b9fc643efbd4b1e2e8e99bbba085e3e75a4f29321cd7b2a25c.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-bfb8ae2e860e451b0868a7b1b50a451d998b2105f9fdfd307b26a1775d145e9f.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/Cargo.lock +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/README.md +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/migrations/20241007163501_initial.sql +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/migrations/20241211120039_merge_job_priority.sql +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/migrations/20241211121159_basic_indexes.sql +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/migrations/20241212151105_check_segment_records.sql +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/migrations/20250110145554_in_flight_messages.sql +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_binding/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_binding/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/fuzzy_query.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/query_io.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/reader.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/request_types.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/resource_indexer.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/schema.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/search_query.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/search_response.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/set_query.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/stop_words.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/README.md +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/ar.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/az.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/bn.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/ca.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/ch.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/da.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/de.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/el.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/en.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/es.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/eu.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/extract.py +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/fi.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/fr.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/he.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/hu.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/id.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/it.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/kk.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/ne.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/nl.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/no.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/pt.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/ro.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/ru.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/sl.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/sv.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/tg.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/stop_words/tr.json +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/tests/common/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/tests/reader.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_protos/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_protos/build.py +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_protos/build.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_protos/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_protos/src/nidx.proto +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/graph_collector.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/graph_query_parser.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/io_maps.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/reader.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/resource_indexer.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/schema.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/src/top_unique_n.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/tests/common/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/tests/test_graph_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/tests/test_reader.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_relation/tests/test_writer.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_tantivy/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_tantivy/src/index_reader.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_tantivy/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_tests/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_tests/src/graph.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_tests/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/prefilter.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/query_io.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/request_types.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/src/search_query.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/tests/common/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/tests/test_flow.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/tests/test_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_text/tests/test_streaming.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_types/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_types/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_types/src/prefilter.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_types/src/query_language.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/Cargo.toml +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/config.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/disk_hnsw.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/node.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/ops_hnsw.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/params.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/ram_hnsw.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point/tests.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point_provider/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_point_provider/reader.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_types/data_store.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_types/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_types/trie.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/data_types/trie_ram.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/formula/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/indexer.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/inverted_index/map.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/inverted_index.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/query_io.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/request_types.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/utils.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/src/vector_types/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/tests/common/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/tests/test_basic_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_vector/tests/test_hidden.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/api/grpc.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/api/shards.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/api.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/control.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/errors.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/grpc_server.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/import_export.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/indexer.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/lib.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/main.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata/deletion.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata/index_request.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata/merge_job.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata/segment.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata/shard.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metadata.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/metrics.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler/audit_task.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler/log_merge.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler/merge_task.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler/metrics_task.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler/purge_tasks.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler/vector_merge.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/scheduler.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/grpc.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/index_cache.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/query_language.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/query_planner.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/shard_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/shard_selector.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/shard_suggest.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/streams.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher/sync.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/searcher.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/segment_store.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/settings.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/telemetry/duration_layer.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/telemetry/log_format.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/telemetry/middleware.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/telemetry.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/tool.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/src/worker.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/common/mod.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/common/services.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_date_range_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_search_filtering.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_search_relations.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_search_sorting.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_searcher_cluster.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_security_search.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_shards.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_shards_api.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_suggest.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_synced_searcher.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_vector_normalization.rs +0 -0
- {nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/tests/test_vectorsets.rs +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nidx_binding
|
3
|
-
Version: 6.3.5.
|
3
|
+
Version: 6.3.5.post220
|
4
4
|
Classifier: Programming Language :: Rust
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
@@ -4,7 +4,7 @@ build-backend = "pdm.backend"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "nidx_protos"
|
7
|
-
version = "6.3.5.
|
7
|
+
version = "6.3.5.post220"
|
8
8
|
license = { text = "AGPL" }
|
9
9
|
description = "Protobuf definitions for nucliadb/nidx"
|
10
10
|
authors = [ { name = "Nuclia", email = "nucliadb@nuclia.com" }]
|
@@ -35,14 +35,12 @@ use nidx_protos::{
|
|
35
35
|
};
|
36
36
|
use nidx_types::prefilter::{FieldId, PrefilterResult};
|
37
37
|
use tantivy::collector::{Collector, Count, FacetCollector, FacetCounts, SegmentCollector, TopDocs};
|
38
|
-
use tantivy::columnar::
|
39
|
-
use tantivy::fastfield::FacetReader;
|
38
|
+
use tantivy::columnar::Column;
|
40
39
|
use tantivy::query::{AllQuery, BooleanQuery, Query, QueryParser, TermQuery};
|
41
40
|
use tantivy::schema::Value;
|
42
41
|
use tantivy::schema::*;
|
43
42
|
use tantivy::{DocAddress, Index, IndexReader, Searcher};
|
44
43
|
use tracing::*;
|
45
|
-
use uuid::Uuid;
|
46
44
|
|
47
45
|
fn facet_count(facet: &str, facets_count: &FacetCounts) -> Vec<FacetResult> {
|
48
46
|
facets_count
|
@@ -91,83 +89,11 @@ impl Debug for TextReaderService {
|
|
91
89
|
}
|
92
90
|
|
93
91
|
struct FieldUuidSegmentCollector {
|
94
|
-
uuid_reader: BytesColumn,
|
95
|
-
field_reader: FacetReader,
|
96
|
-
results: Vec<FieldId>,
|
97
|
-
}
|
98
|
-
|
99
|
-
impl SegmentCollector for FieldUuidSegmentCollector {
|
100
|
-
type Fruit = Vec<FieldId>;
|
101
|
-
|
102
|
-
fn collect(&mut self, doc: tantivy::DocId, _score: tantivy::Score) {
|
103
|
-
let uuid_ord = self.uuid_reader.term_ords(doc).next().unwrap();
|
104
|
-
let mut uuid_bytes = Vec::new();
|
105
|
-
self.uuid_reader.ord_to_bytes(uuid_ord, &mut uuid_bytes).unwrap();
|
106
|
-
|
107
|
-
let mut facet_ords = self.field_reader.facet_ords(doc);
|
108
|
-
let mut facet = Facet::root();
|
109
|
-
self.field_reader
|
110
|
-
.facet_from_ord(facet_ords.next().unwrap(), &mut facet)
|
111
|
-
.expect("field facet not found");
|
112
|
-
|
113
|
-
if let Ok(resource_id) = Uuid::parse_str(std::str::from_utf8(&uuid_bytes).unwrap()) {
|
114
|
-
self.results.push(FieldId {
|
115
|
-
resource_id,
|
116
|
-
field_id: facet.to_path_string(),
|
117
|
-
});
|
118
|
-
}
|
119
|
-
}
|
120
|
-
|
121
|
-
fn harvest(self) -> Self::Fruit {
|
122
|
-
self.results
|
123
|
-
}
|
124
|
-
}
|
125
|
-
|
126
|
-
struct FieldUuidCollector;
|
127
|
-
|
128
|
-
impl Collector for FieldUuidCollector {
|
129
|
-
type Fruit = Vec<FieldId>;
|
130
|
-
|
131
|
-
type Child = FieldUuidSegmentCollector;
|
132
|
-
|
133
|
-
fn for_segment(
|
134
|
-
&self,
|
135
|
-
_segment_local_id: tantivy::SegmentOrdinal,
|
136
|
-
segment: &tantivy::SegmentReader,
|
137
|
-
) -> tantivy::Result<Self::Child> {
|
138
|
-
let uuid_reader = segment.fast_fields().bytes("uuid")?.unwrap();
|
139
|
-
let field_reader = segment.facet_reader("field")?;
|
140
|
-
Ok(FieldUuidSegmentCollector {
|
141
|
-
uuid_reader,
|
142
|
-
field_reader,
|
143
|
-
results: vec![],
|
144
|
-
})
|
145
|
-
}
|
146
|
-
|
147
|
-
fn requires_scoring(&self) -> bool {
|
148
|
-
false
|
149
|
-
}
|
150
|
-
|
151
|
-
fn merge_fruits(
|
152
|
-
&self,
|
153
|
-
segment_fruits: Vec<<Self::Child as tantivy::collector::SegmentCollector>::Fruit>,
|
154
|
-
) -> tantivy::Result<Self::Fruit> {
|
155
|
-
Ok(segment_fruits
|
156
|
-
.into_iter()
|
157
|
-
.reduce(|mut a, mut b| {
|
158
|
-
a.append(&mut b);
|
159
|
-
a
|
160
|
-
})
|
161
|
-
.unwrap_or_default())
|
162
|
-
}
|
163
|
-
}
|
164
|
-
|
165
|
-
struct FieldUuidSegmentCollectorV2 {
|
166
92
|
encoded_field_id_reader: Column,
|
167
93
|
results: Vec<FieldId>,
|
168
94
|
}
|
169
95
|
|
170
|
-
impl SegmentCollector for
|
96
|
+
impl SegmentCollector for FieldUuidSegmentCollector {
|
171
97
|
type Fruit = Vec<FieldId>;
|
172
98
|
|
173
99
|
fn collect(&mut self, doc: tantivy::DocId, _score: tantivy::Score) {
|
@@ -186,12 +112,12 @@ impl SegmentCollector for FieldUuidSegmentCollectorV2 {
|
|
186
112
|
}
|
187
113
|
}
|
188
114
|
|
189
|
-
struct
|
115
|
+
struct FieldUuidCollector;
|
190
116
|
|
191
|
-
impl Collector for
|
117
|
+
impl Collector for FieldUuidCollector {
|
192
118
|
type Fruit = Vec<FieldId>;
|
193
119
|
|
194
|
-
type Child =
|
120
|
+
type Child = FieldUuidSegmentCollector;
|
195
121
|
|
196
122
|
fn for_segment(
|
197
123
|
&self,
|
@@ -199,7 +125,7 @@ impl Collector for FieldUuidCollectorV2 {
|
|
199
125
|
segment: &tantivy::SegmentReader,
|
200
126
|
) -> tantivy::Result<Self::Child> {
|
201
127
|
let encoded_field_id_reader = segment.fast_fields().u64("encoded_field_id")?;
|
202
|
-
Ok(
|
128
|
+
Ok(FieldUuidSegmentCollector {
|
203
129
|
encoded_field_id_reader,
|
204
130
|
results: vec![],
|
205
131
|
})
|
@@ -263,12 +189,7 @@ impl TextReaderService {
|
|
263
189
|
|
264
190
|
let prefilter_query: Box<dyn Query> = Box::new(BooleanQuery::intersection(subqueries));
|
265
191
|
let searcher = self.reader.searcher();
|
266
|
-
let docs_fulfilled =
|
267
|
-
searcher.search(&prefilter_query, &FieldUuidCollectorV2)?
|
268
|
-
} else {
|
269
|
-
searcher.search(&prefilter_query, &FieldUuidCollector)?
|
270
|
-
};
|
271
|
-
|
192
|
+
let docs_fulfilled = searcher.search(&prefilter_query, &FieldUuidCollector)?;
|
272
193
|
// If none of the fields match the pre-filter, thats all the query planner needs to know.
|
273
194
|
if docs_fulfilled.is_empty() {
|
274
195
|
return Ok(PrefilterResult::None);
|
@@ -22,7 +22,7 @@ use anyhow::anyhow;
|
|
22
22
|
use nidx_tantivy::TantivyIndexer;
|
23
23
|
use tantivy::{doc, schema::Facet};
|
24
24
|
|
25
|
-
use crate::schema::{TextSchema, encode_field_id, timestamp_to_datetime_utc};
|
25
|
+
use crate::schema::{TextSchema, encode_field_id, encode_field_id_bytes, timestamp_to_datetime_utc};
|
26
26
|
|
27
27
|
pub fn index_document(
|
28
28
|
writer: &mut TantivyIndexer,
|
@@ -80,10 +80,13 @@ pub fn index_document(
|
|
80
80
|
field_doc.add_facet(schema.field, facet_field);
|
81
81
|
field_doc.add_text(schema.text, &text_info.text);
|
82
82
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
83
|
+
for d in encode_field_id(resource_uuid, &format!("/{field}")) {
|
84
|
+
field_doc.add_u64(schema.encoded_field_id, d);
|
85
|
+
}
|
86
|
+
|
87
|
+
if let Some(encoded_field_id_bytes) = schema.encoded_field_id_bytes {
|
88
|
+
let encoded = encode_field_id_bytes(resource_uuid, field);
|
89
|
+
field_doc.add_bytes(encoded_field_id_bytes, encoded.as_slice());
|
87
90
|
}
|
88
91
|
|
89
92
|
for label in text_info.labels.iter() {
|
@@ -45,7 +45,8 @@ pub struct TextSchema {
|
|
45
45
|
pub groups_public: Field,
|
46
46
|
pub groups_with_access: Field,
|
47
47
|
|
48
|
-
pub encoded_field_id:
|
48
|
+
pub encoded_field_id: Field,
|
49
|
+
pub encoded_field_id_bytes: Option<Field>,
|
49
50
|
}
|
50
51
|
|
51
52
|
pub fn timestamp_to_datetime_utc(timestamp: &nidx_protos::prost_types::Timestamp) -> DateTime {
|
@@ -80,14 +81,22 @@ impl TextSchema {
|
|
80
81
|
let groups_public = sb.add_u64_field("groups_public", num_options);
|
81
82
|
let groups_with_access = sb.add_facet_field("groups_with_access", facet_options);
|
82
83
|
|
83
|
-
let encoded_field_id = if version >=
|
84
|
-
//
|
85
|
-
Some(sb.add_u64_field("encoded_field_id", FAST | INDEXED))
|
86
|
-
} else if version == 2 {
|
87
|
-
// v2: Field ID encoded as array of u64 for faster retrieval during prefilter
|
84
|
+
let encoded_field_id = if version >= 4 {
|
85
|
+
// v4: Field ID encoded as array of u64 for faster retrieval during prefilter
|
88
86
|
// Using a bytes field is slow due to tantivy's implementation being slow with many unique values.
|
89
87
|
// A better implementation is tracked in https://github.com/quickwit-oss/tantivy/issues/2090
|
90
|
-
|
88
|
+
sb.add_u64_field("encoded_field_id", FAST)
|
89
|
+
} else {
|
90
|
+
// v3: Field ID encoded as array of u64 for faster retrieval during prefilter
|
91
|
+
// Using a bytes field is slow due to tantivy's implementation being slow with many unique values.
|
92
|
+
// A better implementation is tracked in https://github.com/quickwit-oss/tantivy/issues/2090
|
93
|
+
// The INDEXED flag is unnecessary here, and this is backwards compatible code until we remove it in v4.
|
94
|
+
sb.add_u64_field("encoded_field_id", FAST | INDEXED)
|
95
|
+
};
|
96
|
+
|
97
|
+
let encoded_field_id_bytes = if version >= 4 {
|
98
|
+
// v4: Field ID encoded as array of u8 for faster deletions
|
99
|
+
Some(sb.add_bytes_field("encoded_field_id_bytes", INDEXED))
|
91
100
|
} else {
|
92
101
|
None
|
93
102
|
};
|
@@ -106,6 +115,7 @@ impl TextSchema {
|
|
106
115
|
groups_public,
|
107
116
|
groups_with_access,
|
108
117
|
encoded_field_id,
|
118
|
+
encoded_field_id_bytes,
|
109
119
|
}
|
110
120
|
}
|
111
121
|
}
|
@@ -147,9 +157,28 @@ pub fn decode_field_id(data: &[u64]) -> (uuid::Uuid, String) {
|
|
147
157
|
(rid, String::from_utf8(ubytes).unwrap())
|
148
158
|
}
|
149
159
|
|
160
|
+
/// Encodes a resource and field id as a series of u8
|
161
|
+
/// This is stored in the indexed field `encoded_field_id_bytes`
|
162
|
+
pub fn encode_field_id_bytes(rid: uuid::Uuid, fid: &str) -> Vec<u8> {
|
163
|
+
let mut out = Vec::with_capacity(16 + fid.len());
|
164
|
+
out.extend_from_slice(rid.as_bytes());
|
165
|
+
out.extend_from_slice(fid.as_bytes());
|
166
|
+
out
|
167
|
+
}
|
168
|
+
|
150
169
|
#[cfg(test)]
|
151
170
|
mod tests {
|
152
|
-
use super::{decode_field_id, encode_field_id};
|
171
|
+
use super::{decode_field_id, encode_field_id, encode_field_id_bytes};
|
172
|
+
|
173
|
+
/// Decodes a resource and field id from a series of u8
|
174
|
+
pub fn decode_field_id_bytes(data: &[u8]) -> (uuid::Uuid, String) {
|
175
|
+
if data.len() < 16 {
|
176
|
+
panic!("Data is too short to contain a valid UUID");
|
177
|
+
}
|
178
|
+
let rid = uuid::Uuid::from_slice(&data[..16]).unwrap();
|
179
|
+
let fid = String::from_utf8(data[16..].to_vec()).unwrap();
|
180
|
+
(rid, fid)
|
181
|
+
}
|
153
182
|
|
154
183
|
#[test]
|
155
184
|
fn test_encode_decode_field_id() {
|
@@ -172,4 +201,26 @@ mod tests {
|
|
172
201
|
assert_eq!(decoded_fid, t.1);
|
173
202
|
}
|
174
203
|
}
|
204
|
+
|
205
|
+
#[test]
|
206
|
+
fn test_encode_decode_field_id_bytes() {
|
207
|
+
// Test with different lengths to ensure it works when crossing block length
|
208
|
+
let testcases = [
|
209
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title"),
|
210
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title1"),
|
211
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title12"),
|
212
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title123"),
|
213
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title1234"),
|
214
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title12345"),
|
215
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title123456"),
|
216
|
+
("03ce0c2cdcc0060069fb8f69c73fa8e2", "a/title1234567"),
|
217
|
+
];
|
218
|
+
for t in testcases {
|
219
|
+
let rid = uuid::Uuid::parse_str(t.0).unwrap();
|
220
|
+
let data = encode_field_id_bytes(rid, t.1);
|
221
|
+
let (decoded_rid, decoded_fid) = decode_field_id_bytes(&data);
|
222
|
+
assert_eq!(decoded_rid.simple().to_string().as_str(), t.0);
|
223
|
+
assert_eq!(decoded_fid, t.1);
|
224
|
+
}
|
225
|
+
}
|
175
226
|
}
|
@@ -13,7 +13,7 @@ classifiers = [
|
|
13
13
|
"Programming Language :: Python :: Implementation :: CPython",
|
14
14
|
"Programming Language :: Python :: Implementation :: PyPy",
|
15
15
|
]
|
16
|
-
version = "6.3.5.
|
16
|
+
version = "6.3.5.post220"
|
17
17
|
|
18
18
|
[project.urls]
|
19
19
|
Homepage = "https://nuclia.com"
|
@@ -345,12 +345,12 @@ mod tests {
|
|
345
345
|
async fn test_text_config(pool: sqlx::PgPool) -> anyhow::Result<()> {
|
346
346
|
let meta = NidxMetadata::new_with_pool(pool).await.unwrap();
|
347
347
|
|
348
|
-
// Default version for new indexes is
|
348
|
+
// Default version for new indexes is 4
|
349
349
|
let shard = Shard::create(&meta.pool, Uuid::new_v4()).await.unwrap();
|
350
350
|
let index = Index::create(&meta.pool, shard.id, "multilingual", IndexConfig::new_text())
|
351
351
|
.await
|
352
352
|
.unwrap();
|
353
|
-
assert_eq!(index.config::<TextConfig>()?.version,
|
353
|
+
assert_eq!(index.config::<TextConfig>()?.version, 4);
|
354
354
|
|
355
355
|
// Default version if DB is empty is 1
|
356
356
|
sqlx::query("UPDATE indexes SET configuration = NULL")
|
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.3.5.post215 → nidx_binding-6.3.5.post220}/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
|
{nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/request_types.rs
RENAMED
File without changes
|
{nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/resource_indexer.rs
RENAMED
File without changes
|
File without changes
|
{nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/search_query.rs
RENAMED
File without changes
|
{nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/src/search_response.rs
RENAMED
File without changes
|
File without changes
|
File without changes
|
{nidx_binding-6.3.5.post215 → nidx_binding-6.3.5.post220}/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.3.5.post215 → nidx_binding-6.3.5.post220}/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.3.5.post215 → nidx_binding-6.3.5.post220}/nidx_paragraph/tests/common/mod.rs
RENAMED
File without changes
|