nidx-binding 6.9.4.post651__tar.gz → 6.9.5.post653__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.4.post651 → nidx_binding-6.9.5.post653}/PKG-INFO +1 -1
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/reader.rs +4 -24
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/schema.rs +7 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/search_response.rs +15 -9
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/nodereader.proto +9 -2
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/pyproject.toml +1 -1
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/reader.rs +26 -26
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/schema.rs +7 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/pyproject.toml +1 -1
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.config/nextest.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-8d33717587c6ee8f5fc339a80b1212a73d6c03e45856b1d55457fc8074709dd0.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/Cargo.lock +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/README.md +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/migrations/20241007163501_initial.sql +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/migrations/20241211120039_merge_job_priority.sql +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/migrations/20241211121159_basic_indexes.sql +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/migrations/20241212151105_check_segment_records.sql +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/migrations/20250110145554_in_flight_messages.sql +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_binding/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_binding/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/fuzzy_query.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_io.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_parser/fuzzy_parser.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_parser/keyword_parser.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_parser/stop_words.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_parser/tokenizer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_parser.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/request_types.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/search_query.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/set_query.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/README.md +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/ar.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/az.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/bn.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/ca.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/ch.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/da.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/de.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/el.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/en.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/es.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/eu.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/extract.py +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/fi.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/fr.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/he.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/hu.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/id.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/it.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/kk.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/ne.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/nl.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/no.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/pt.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/ro.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/ru.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/sl.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/sv.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/tg.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/stop_words/tr.json +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/tests/reader.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/build.py +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/build.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/nidx.proto +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/noderesources.proto +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/nodewriter.proto +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_protos/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/graph_collector.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/graph_query_parser.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/io_maps.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/reader.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/schema.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/src/top_unique_n.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/tests/test_graph_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_relation/tests/test_writer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tantivy/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tantivy/src/index_reader.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tantivy/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tantivy/src/utils.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tests/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tests/src/graph.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_tests/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/prefilter.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/query_io.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/request_types.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/resource_indexer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/src/search_query.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/tests/test_deletions.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/tests/test_flow.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/tests/test_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_text/tests/test_streaming.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_types/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_types/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_types/src/prefilter.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_types/src/query_language.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/Cargo.toml +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/config.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v1/node.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v1/store.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v1/trie.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v1/trie_ram.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v1.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v2/paragraph_store.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v2/quant_vector_store.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v2/vector_store.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store/v2.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_store.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/data_types.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/formula.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/build.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/disk/v1.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/disk/v2.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/disk.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/params.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/ram_hnsw.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw/search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/hnsw.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/indexer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/inverted_index/map.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/inverted_index.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/multivector.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/query_io.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/request_types.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/searcher.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/segment/tests.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/segment.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/utils.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/vector_types/mod.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/src/vector_types/rabitq.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/tests/test_basic_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/tests/test_hidden.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_vector/tests/test_maxsim.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/api/grpc.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/api/shards.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/api.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/control.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/errors.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/grpc_server.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/import_export.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/indexer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/lib.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/main.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata/deletion.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata/index.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata/index_request.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata/merge_job.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata/segment.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata/shard.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metadata.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/metrics.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler/audit_task.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler/log_merge.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler/merge_task.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler/metrics_task.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler/purge_tasks.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler/vector_merge.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/scheduler.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/grpc.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/index_cache.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/query_language.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/query_planner.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/shard_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/shard_selector.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/shard_suggest.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/streams.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher/sync.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/searcher.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/segment_store.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/settings.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/telemetry/duration_layer.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/telemetry/log_format.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/telemetry/middleware.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/telemetry.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/tool.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/utilization_tracker.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/src/worker.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/common/mod.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/common/services.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_date_range_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_search_filtering.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_search_relations.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_search_sorting.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_searcher_cluster.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_security_search.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_shards.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_shards_api.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_suggest.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_synced_searcher.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/tests/test_vector_normalization.rs +0 -0
- {nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/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.
|
|
3
|
+
Version: 6.9.5.post653
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
@@ -138,30 +138,6 @@ impl ParagraphReaderService {
|
|
|
138
138
|
debug!("Fallback fuzzy query took {}µs", time_tracker.checkpoint().as_micros());
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
let total = response.results.len() as f32;
|
|
142
|
-
let mut some_below_min_score: bool = false;
|
|
143
|
-
let response_results = std::mem::take(&mut response.results);
|
|
144
|
-
|
|
145
|
-
for (i, mut r) in response_results.into_iter().enumerate() {
|
|
146
|
-
match &mut r.score {
|
|
147
|
-
None => continue,
|
|
148
|
-
Some(sc) if sc.bm25 < request.min_score => {
|
|
149
|
-
// We can break here because the results are sorted by score
|
|
150
|
-
some_below_min_score = true;
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
Some(sc) => {
|
|
154
|
-
sc.booster = total - (i as f32);
|
|
155
|
-
response.results.push(r);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if some_below_min_score {
|
|
161
|
-
// We set next_page to false so that the client stops asking for more results
|
|
162
|
-
response.next_page = false;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
141
|
debug!("Result processing took {}µs", time_tracker.checkpoint().as_micros());
|
|
166
142
|
debug!("Paragraph search took {}µs", time_tracker.elapsed().as_micros());
|
|
167
143
|
|
|
@@ -298,6 +274,7 @@ impl Searcher<'_> {
|
|
|
298
274
|
let extra_result = self.results + 1;
|
|
299
275
|
match self.request.order.clone() {
|
|
300
276
|
Some(order) => {
|
|
277
|
+
let sort_field = order.sort_by();
|
|
301
278
|
let custom_collector = self.custom_order_collector(order, extra_result);
|
|
302
279
|
let collector = &(Count, custom_collector);
|
|
303
280
|
let (total, top_docs) = searcher.search(&query, collector)?;
|
|
@@ -311,6 +288,7 @@ impl Searcher<'_> {
|
|
|
311
288
|
query: self.text,
|
|
312
289
|
results_per_page: self.results as i32,
|
|
313
290
|
searcher,
|
|
291
|
+
sort_field,
|
|
314
292
|
}))
|
|
315
293
|
}
|
|
316
294
|
None => {
|
|
@@ -336,6 +314,7 @@ impl Searcher<'_> {
|
|
|
336
314
|
|
|
337
315
|
match self.request.order.clone() {
|
|
338
316
|
Some(order) => {
|
|
317
|
+
let sort_field = order.sort_by();
|
|
339
318
|
let custom_collector = self.custom_order_collector(order, extra_result);
|
|
340
319
|
let collector = &(Count, facet_collector, custom_collector);
|
|
341
320
|
let (total, facets_count, top_docs) = searcher.search(&query, collector)?;
|
|
@@ -349,6 +328,7 @@ impl Searcher<'_> {
|
|
|
349
328
|
query: self.text,
|
|
350
329
|
results_per_page: self.results as i32,
|
|
351
330
|
searcher,
|
|
331
|
+
sort_field,
|
|
352
332
|
}))
|
|
353
333
|
}
|
|
354
334
|
None => {
|
|
@@ -63,6 +63,13 @@ pub fn timestamp_to_datetime_utc(timestamp: &nidx_protos::prost_types::Timestamp
|
|
|
63
63
|
DateTime::from_timestamp_secs(timestamp.seconds)
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
pub fn datetime_utc_to_timestamp(tantivy: &DateTime) -> nidx_protos::prost_types::Timestamp {
|
|
67
|
+
nidx_protos::prost_types::Timestamp {
|
|
68
|
+
seconds: tantivy.into_timestamp_secs(),
|
|
69
|
+
nanos: 0,
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
66
73
|
impl ParagraphSchema {
|
|
67
74
|
pub fn new() -> ParagraphSchema {
|
|
68
75
|
ParagraphSchema::default()
|
{nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/search_response.rs
RENAMED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
use std::collections::HashMap;
|
|
21
21
|
|
|
22
22
|
use lazy_static::lazy_static;
|
|
23
|
+
use nidx_protos::order_by::OrderField;
|
|
24
|
+
use nidx_protos::paragraph_result::SortValue;
|
|
23
25
|
use nidx_protos::{FacetResult, FacetResults, ParagraphResult, ParagraphSearchResponse, ResultScore};
|
|
24
26
|
use nidx_tantivy::utils::decode_facet;
|
|
25
27
|
use tantivy::collector::FacetCounts;
|
|
@@ -29,6 +31,7 @@ use tantivy::{DateTime, DocAddress, TantivyDocument};
|
|
|
29
31
|
use tracing::*;
|
|
30
32
|
|
|
31
33
|
use crate::reader::ParagraphReaderService;
|
|
34
|
+
use crate::schema::datetime_utc_to_timestamp;
|
|
32
35
|
use crate::search_query::TermCollector;
|
|
33
36
|
|
|
34
37
|
pub fn extract_labels<'a>(facets_iterator: impl Iterator<Item = CompactDocValue<'a>>) -> Vec<String> {
|
|
@@ -101,6 +104,7 @@ pub struct SearchIntResponse<'a> {
|
|
|
101
104
|
pub results_per_page: i32,
|
|
102
105
|
pub termc: TermCollector,
|
|
103
106
|
pub searcher: tantivy::Searcher,
|
|
107
|
+
pub sort_field: OrderField,
|
|
104
108
|
}
|
|
105
109
|
|
|
106
110
|
pub struct SearchFacetsResponse<'a> {
|
|
@@ -133,13 +137,9 @@ impl From<SearchIntResponse<'_>> for ParagraphSearchResponse {
|
|
|
133
137
|
let no_results = std::cmp::min(obtained, requested);
|
|
134
138
|
let mut results: Vec<ParagraphResult> = Vec::with_capacity(no_results);
|
|
135
139
|
let searcher = response.searcher;
|
|
136
|
-
for (
|
|
140
|
+
for (score, doc_address) in response.top_docs.into_iter().take(no_results) {
|
|
137
141
|
match searcher.doc::<TantivyDocument>(doc_address) {
|
|
138
142
|
Ok(doc) => {
|
|
139
|
-
let score = ResultScore {
|
|
140
|
-
bm25: 0.0,
|
|
141
|
-
booster: 0.0,
|
|
142
|
-
};
|
|
143
143
|
let schema = &response.text_service.schema;
|
|
144
144
|
let uuid = doc
|
|
145
145
|
.get_first(schema.uuid)
|
|
@@ -179,6 +179,8 @@ impl From<SearchIntResponse<'_>> for ParagraphSearchResponse {
|
|
|
179
179
|
.unwrap()
|
|
180
180
|
.to_string();
|
|
181
181
|
|
|
182
|
+
let sort_value = Some(SortValue::Date(datetime_utc_to_timestamp(&score)));
|
|
183
|
+
|
|
182
184
|
let index = doc.get_first(schema.index).unwrap().as_u64().unwrap();
|
|
183
185
|
let mut terms: Vec<_> = response.termc.get_fterms(doc_address.doc_id).into_iter().collect();
|
|
184
186
|
terms.sort();
|
|
@@ -192,7 +194,7 @@ impl From<SearchIntResponse<'_>> for ParagraphSearchResponse {
|
|
|
192
194
|
split,
|
|
193
195
|
index,
|
|
194
196
|
matches: terms,
|
|
195
|
-
|
|
197
|
+
sort_value,
|
|
196
198
|
metadata: schema.metadata(&doc),
|
|
197
199
|
};
|
|
198
200
|
|
|
@@ -223,18 +225,22 @@ impl From<SearchIntResponse<'_>> for ParagraphSearchResponse {
|
|
|
223
225
|
impl From<SearchBm25Response<'_>> for ParagraphSearchResponse {
|
|
224
226
|
fn from(response: SearchBm25Response) -> Self {
|
|
225
227
|
let total = response.total as i32;
|
|
228
|
+
let min_score = response.min_score;
|
|
226
229
|
let obtained = response.top_docs.len();
|
|
227
230
|
let requested = response.results_per_page as usize;
|
|
228
231
|
let next_page = obtained > requested;
|
|
229
232
|
let no_results = std::cmp::min(obtained, requested);
|
|
230
233
|
let mut results: Vec<ParagraphResult> = Vec::with_capacity(no_results);
|
|
231
234
|
let searcher = response.searcher;
|
|
232
|
-
for (score, doc_address) in response.top_docs.into_iter().take(no_results) {
|
|
235
|
+
for (i, (score, doc_address)) in response.top_docs.into_iter().take(no_results).enumerate() {
|
|
236
|
+
if score < min_score {
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
233
239
|
match searcher.doc::<TantivyDocument>(doc_address) {
|
|
234
240
|
Ok(doc) => {
|
|
235
241
|
let score = ResultScore {
|
|
236
242
|
bm25: score,
|
|
237
|
-
booster:
|
|
243
|
+
booster: (response.total - i) as f32,
|
|
238
244
|
};
|
|
239
245
|
let schema = &response.text_service.schema;
|
|
240
246
|
let uuid = doc
|
|
@@ -281,7 +287,7 @@ impl From<SearchBm25Response<'_>> for ParagraphSearchResponse {
|
|
|
281
287
|
split,
|
|
282
288
|
index,
|
|
283
289
|
paragraph,
|
|
284
|
-
|
|
290
|
+
sort_value: Some(SortValue::Score(score)),
|
|
285
291
|
start: start_pos,
|
|
286
292
|
end: end_pos,
|
|
287
293
|
matches: terms,
|
|
@@ -54,7 +54,10 @@ message ResultScore {
|
|
|
54
54
|
|
|
55
55
|
message DocumentResult {
|
|
56
56
|
string uuid = 1;
|
|
57
|
-
|
|
57
|
+
oneof sort_value {
|
|
58
|
+
ResultScore score = 3;
|
|
59
|
+
google.protobuf.Timestamp date = 6;
|
|
60
|
+
}
|
|
58
61
|
string field = 4;
|
|
59
62
|
repeated string labels = 5;
|
|
60
63
|
}
|
|
@@ -86,7 +89,11 @@ message ParagraphResult {
|
|
|
86
89
|
string paragraph = 6;
|
|
87
90
|
string split = 7;
|
|
88
91
|
uint64 index = 8;
|
|
89
|
-
|
|
92
|
+
oneof sort_value {
|
|
93
|
+
ResultScore score = 9;
|
|
94
|
+
google.protobuf.Timestamp date = 13;
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
repeated string matches = 10;
|
|
91
98
|
|
|
92
99
|
// Metadata that can't be searched with but is returned on search results
|
|
@@ -10,7 +10,7 @@ build-backend = "pdm.backend"
|
|
|
10
10
|
|
|
11
11
|
[project]
|
|
12
12
|
name = "nidx_protos"
|
|
13
|
-
version = "6.9.
|
|
13
|
+
version = "6.9.5.post653"
|
|
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" }]
|
|
@@ -21,13 +21,14 @@ use std::collections::HashMap;
|
|
|
21
21
|
use std::fmt::Debug;
|
|
22
22
|
use std::time::*;
|
|
23
23
|
|
|
24
|
-
use crate::schema::decode_field_id;
|
|
24
|
+
use crate::schema::{datetime_utc_to_timestamp, decode_field_id};
|
|
25
25
|
use crate::search_query::filter_to_query;
|
|
26
26
|
use crate::{DocumentSearchRequest, prefilter::*};
|
|
27
27
|
|
|
28
28
|
use super::schema::TextSchema;
|
|
29
29
|
use super::search_query;
|
|
30
30
|
use itertools::Itertools;
|
|
31
|
+
use nidx_protos::document_result::SortValue;
|
|
31
32
|
use nidx_protos::order_by::{OrderField, OrderType};
|
|
32
33
|
use nidx_protos::{
|
|
33
34
|
DocumentItem, DocumentResult, DocumentSearchResponse, FacetResult, FacetResults, OrderBy, ResultScore,
|
|
@@ -39,8 +40,8 @@ use tantivy::collector::{Collector, Count, FacetCollector, FacetCounts, SegmentC
|
|
|
39
40
|
use tantivy::columnar::Column;
|
|
40
41
|
use tantivy::query::{AllQuery, BooleanQuery, Query, QueryParser, TermQuery};
|
|
41
42
|
use tantivy::schema::Value;
|
|
42
|
-
use tantivy::
|
|
43
|
-
use tantivy::{
|
|
43
|
+
use tantivy::{DateTime, DocAddress, Index, IndexReader, Searcher};
|
|
44
|
+
use tantivy::{Order, schema::*};
|
|
44
45
|
use tracing::*;
|
|
45
46
|
|
|
46
47
|
fn facet_count(facet: &str, facets_count: &FacetCounts) -> Vec<FacetResult> {
|
|
@@ -234,36 +235,33 @@ impl TextReaderService {
|
|
|
234
235
|
}
|
|
235
236
|
|
|
236
237
|
impl TextReaderService {
|
|
237
|
-
fn custom_order_collector(
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
fn custom_order_collector(
|
|
239
|
+
&self,
|
|
240
|
+
order: OrderBy,
|
|
241
|
+
limit: usize,
|
|
242
|
+
) -> impl Collector<Fruit = Vec<(DateTime, DocAddress)>> {
|
|
243
|
+
let order_field = match order.sort_by() {
|
|
244
|
+
OrderField::Created => "created",
|
|
245
|
+
OrderField::Modified => "modified",
|
|
242
246
|
};
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
move |doc: DocId| sorter(reader.values_for_doc(doc).next().unwrap().into_timestamp_secs())
|
|
249
|
-
})
|
|
247
|
+
let order_direction = match order.r#type() {
|
|
248
|
+
OrderType::Desc => Order::Desc,
|
|
249
|
+
OrderType::Asc => Order::Asc,
|
|
250
|
+
};
|
|
251
|
+
TopDocs::with_limit(limit).order_by_fast_field(order_field, order_direction)
|
|
250
252
|
}
|
|
251
253
|
|
|
252
|
-
fn convert_int_order(&self, response: SearchResponse<
|
|
254
|
+
fn convert_int_order(&self, response: SearchResponse<DateTime>, searcher: &Searcher) -> DocumentSearchResponse {
|
|
253
255
|
let total = response.total as i32;
|
|
254
256
|
let retrieved_results = response.results_per_page;
|
|
255
257
|
let next_page = total > retrieved_results;
|
|
256
258
|
let results_per_page = response.results_per_page as usize;
|
|
257
|
-
let result_stream = response.top_docs.into_iter().take(results_per_page)
|
|
259
|
+
let result_stream = response.top_docs.into_iter().take(results_per_page);
|
|
258
260
|
let mut results = Vec::with_capacity(results_per_page);
|
|
259
261
|
|
|
260
|
-
for (
|
|
262
|
+
for (score, doc_address) in result_stream {
|
|
261
263
|
match searcher.doc::<TantivyDocument>(doc_address) {
|
|
262
264
|
Ok(doc) => {
|
|
263
|
-
let score = Some(ResultScore {
|
|
264
|
-
bm25: 0.0,
|
|
265
|
-
booster: id as f32,
|
|
266
|
-
});
|
|
267
265
|
let uuid = String::from_utf8(
|
|
268
266
|
doc.get_first(self.schema.uuid)
|
|
269
267
|
.expect("document doesn't appear to have uuid.")
|
|
@@ -287,10 +285,12 @@ impl TextReaderService {
|
|
|
287
285
|
.filter(|x| x.starts_with("/l/"))
|
|
288
286
|
.collect_vec();
|
|
289
287
|
|
|
288
|
+
let sort_value = Some(SortValue::Date(datetime_utc_to_timestamp(&score)));
|
|
289
|
+
|
|
290
290
|
let result = DocumentResult {
|
|
291
291
|
uuid,
|
|
292
292
|
field,
|
|
293
|
-
|
|
293
|
+
sort_value,
|
|
294
294
|
labels,
|
|
295
295
|
};
|
|
296
296
|
results.push(result);
|
|
@@ -330,10 +330,10 @@ impl TextReaderService {
|
|
|
330
330
|
}
|
|
331
331
|
match searcher.doc::<TantivyDocument>(doc_address) {
|
|
332
332
|
Ok(doc) => {
|
|
333
|
-
let score =
|
|
333
|
+
let score = ResultScore {
|
|
334
334
|
bm25: score,
|
|
335
335
|
booster: id as f32,
|
|
336
|
-
}
|
|
336
|
+
};
|
|
337
337
|
let uuid = String::from_utf8(
|
|
338
338
|
doc.get_first(self.schema.uuid)
|
|
339
339
|
.expect("document doesn't appear to have uuid.")
|
|
@@ -359,7 +359,7 @@ impl TextReaderService {
|
|
|
359
359
|
let result = DocumentResult {
|
|
360
360
|
uuid,
|
|
361
361
|
field,
|
|
362
|
-
score,
|
|
362
|
+
sort_value: Some(SortValue::Score(score)),
|
|
363
363
|
labels,
|
|
364
364
|
};
|
|
365
365
|
results.push(result);
|
|
@@ -54,6 +54,13 @@ pub fn timestamp_to_datetime_utc(timestamp: &nidx_protos::prost_types::Timestamp
|
|
|
54
54
|
DateTime::from_timestamp_secs(timestamp.seconds)
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
pub fn datetime_utc_to_timestamp(tantivy: &DateTime) -> nidx_protos::prost_types::Timestamp {
|
|
58
|
+
nidx_protos::prost_types::Timestamp {
|
|
59
|
+
seconds: tantivy.into_timestamp_secs(),
|
|
60
|
+
nanos: 0,
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
57
64
|
impl TextSchema {
|
|
58
65
|
pub fn new(_version: u64) -> Self {
|
|
59
66
|
let mut sb = Schema::builder();
|
|
@@ -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.
|
|
16
|
+
version = "6.9.5.post653"
|
|
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.4.post651 → nidx_binding-6.9.5.post653}/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.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/query_parser.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/request_types.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/resource_indexer.rs
RENAMED
|
File without changes
|
{nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/nidx_paragraph/src/search_query.rs
RENAMED
|
File without changes
|
|
File without changes
|
{nidx_binding-6.9.4.post651 → nidx_binding-6.9.5.post653}/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.4.post651 → nidx_binding-6.9.5.post653}/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
|