nidx-binding 6.9.7.post690__tar.gz → 6.9.7.post701__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.
Files changed (267) hide show
  1. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/PKG-INFO +1 -1
  2. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/pyproject.toml +8 -2
  3. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/config.rs +3 -0
  4. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v1/store.rs +1 -0
  5. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/searcher.rs +3 -0
  6. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/segment/tests.rs +1 -0
  7. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/segment.rs +41 -18
  8. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/tests/test_basic_search.rs +3 -0
  9. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/tests/test_hidden.rs +1 -0
  10. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/tests/test_maxsim.rs +1 -0
  11. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/pyproject.toml +1 -1
  12. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/import_export.rs +1 -0
  13. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/indexer.rs +1 -0
  14. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata/merge_job.rs +1 -0
  15. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata.rs +1 -0
  16. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler/merge_task.rs +1 -0
  17. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/sync.rs +1 -0
  18. nidx_binding-6.9.7.post690/tests/test_date_range_search.rs → nidx_binding-6.9.7.post701/tests/integration/date_range_search.rs +1 -3
  19. nidx_binding-6.9.7.post701/tests/integration/mod.rs +32 -0
  20. nidx_binding-6.9.7.post690/tests/test_search_filtering.rs → nidx_binding-6.9.7.post701/tests/integration/search_filtering.rs +1 -3
  21. nidx_binding-6.9.7.post690/tests/test_search_relations.rs → nidx_binding-6.9.7.post701/tests/integration/search_relations.rs +1 -3
  22. nidx_binding-6.9.7.post690/tests/test_search_sorting.rs → nidx_binding-6.9.7.post701/tests/integration/search_sorting.rs +1 -3
  23. nidx_binding-6.9.7.post690/tests/test_searcher_cluster.rs → nidx_binding-6.9.7.post701/tests/integration/searcher_cluster.rs +1 -3
  24. nidx_binding-6.9.7.post690/tests/test_security_search.rs → nidx_binding-6.9.7.post701/tests/integration/security_search.rs +1 -3
  25. nidx_binding-6.9.7.post690/tests/test_shards.rs → nidx_binding-6.9.7.post701/tests/integration/shards.rs +1 -3
  26. nidx_binding-6.9.7.post690/tests/test_shards_api.rs → nidx_binding-6.9.7.post701/tests/integration/shards_api.rs +2 -3
  27. nidx_binding-6.9.7.post690/tests/test_suggest.rs → nidx_binding-6.9.7.post701/tests/integration/suggest.rs +1 -3
  28. nidx_binding-6.9.7.post690/tests/test_synced_searcher.rs → nidx_binding-6.9.7.post701/tests/integration/synced_searcher.rs +1 -0
  29. nidx_binding-6.9.7.post690/tests/test_vector_normalization.rs → nidx_binding-6.9.7.post701/tests/integration/vector_normalization.rs +1 -3
  30. nidx_binding-6.9.7.post690/tests/test_vectorsets.rs → nidx_binding-6.9.7.post701/tests/integration/vectorsets.rs +1 -3
  31. nidx_binding-6.9.7.post701/tests/test_integration.rs +27 -0
  32. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.config/nextest.toml +0 -0
  33. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
  34. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
  35. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
  36. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
  37. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
  38. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
  39. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
  40. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
  41. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
  42. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
  43. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
  44. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
  45. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
  46. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
  47. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
  48. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
  49. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
  50. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
  51. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
  52. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
  53. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
  54. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
  55. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
  56. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
  57. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
  58. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-8d33717587c6ee8f5fc339a80b1212a73d6c03e45856b1d55457fc8074709dd0.json +0 -0
  59. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
  60. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
  61. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
  62. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
  63. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
  64. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
  65. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa.json +0 -0
  66. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
  67. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
  68. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
  69. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
  70. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
  71. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
  72. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
  73. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
  74. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
  75. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
  76. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
  77. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
  78. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
  79. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
  80. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
  81. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
  82. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
  83. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
  84. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
  85. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
  86. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
  87. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
  88. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
  89. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
  90. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/.sqlx/query-fd97b359c7a7cdc573b2112efbafb9956ae71d8f875c38140cba1c04b7084b47.json +0 -0
  91. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/Cargo.lock +0 -0
  92. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/Cargo.toml +0 -0
  93. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/README.md +0 -0
  94. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/migrations/20241007163501_initial.sql +0 -0
  95. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/migrations/20241211120039_merge_job_priority.sql +0 -0
  96. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/migrations/20241211121159_basic_indexes.sql +0 -0
  97. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/migrations/20241212151105_check_segment_records.sql +0 -0
  98. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/migrations/20250110145554_in_flight_messages.sql +0 -0
  99. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_binding/Cargo.toml +0 -0
  100. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_binding/src/lib.rs +0 -0
  101. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/Cargo.toml +0 -0
  102. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/fuzzy_query.rs +0 -0
  103. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/lib.rs +0 -0
  104. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/query_io.rs +0 -0
  105. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/query_parser/fuzzy_parser.rs +0 -0
  106. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/query_parser/keyword_parser.rs +0 -0
  107. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/query_parser/stop_words.rs +0 -0
  108. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/query_parser/tokenizer.rs +0 -0
  109. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/query_parser.rs +0 -0
  110. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/reader.rs +0 -0
  111. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/request_types.rs +0 -0
  112. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/resource_indexer.rs +0 -0
  113. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/schema.rs +0 -0
  114. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/search_query.rs +0 -0
  115. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/search_response.rs +0 -0
  116. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/src/set_query.rs +0 -0
  117. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/README.md +0 -0
  118. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/ar.json +0 -0
  119. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/az.json +0 -0
  120. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/bn.json +0 -0
  121. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/ca.json +0 -0
  122. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/ch.json +0 -0
  123. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/da.json +0 -0
  124. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/de.json +0 -0
  125. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/el.json +0 -0
  126. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/en.json +0 -0
  127. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/es.json +0 -0
  128. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/eu.json +0 -0
  129. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/extract.py +0 -0
  130. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/fi.json +0 -0
  131. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/fr.json +0 -0
  132. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/he.json +0 -0
  133. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/hu.json +0 -0
  134. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/id.json +0 -0
  135. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/it.json +0 -0
  136. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/kk.json +0 -0
  137. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/ne.json +0 -0
  138. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/nl.json +0 -0
  139. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/no.json +0 -0
  140. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/pt.json +0 -0
  141. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/ro.json +0 -0
  142. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/ru.json +0 -0
  143. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/sl.json +0 -0
  144. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/sv.json +0 -0
  145. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/tg.json +0 -0
  146. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/stop_words/tr.json +0 -0
  147. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/tests/common/mod.rs +0 -0
  148. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_paragraph/tests/reader.rs +0 -0
  149. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/Cargo.toml +0 -0
  150. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/build.py +0 -0
  151. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/build.rs +0 -0
  152. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/nidx.proto +0 -0
  153. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/nodereader.proto +0 -0
  154. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/noderesources.proto +0 -0
  155. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/nodewriter.proto +0 -0
  156. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_protos/src/lib.rs +0 -0
  157. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/Cargo.toml +0 -0
  158. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/graph_collector.rs +0 -0
  159. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/graph_query_parser.rs +0 -0
  160. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/io_maps.rs +0 -0
  161. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/lib.rs +0 -0
  162. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/reader.rs +0 -0
  163. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/resource_indexer.rs +0 -0
  164. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/schema.rs +0 -0
  165. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/src/top_unique_n.rs +0 -0
  166. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/tests/common/mod.rs +0 -0
  167. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
  168. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/tests/test_graph_search.rs +0 -0
  169. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_relation/tests/test_writer.rs +0 -0
  170. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tantivy/Cargo.toml +0 -0
  171. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tantivy/src/index_reader.rs +0 -0
  172. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tantivy/src/lib.rs +0 -0
  173. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tantivy/src/utils.rs +0 -0
  174. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tests/Cargo.toml +0 -0
  175. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tests/src/graph.rs +0 -0
  176. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_tests/src/lib.rs +0 -0
  177. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/Cargo.toml +0 -0
  178. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/lib.rs +0 -0
  179. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/prefilter.rs +0 -0
  180. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/query_io.rs +0 -0
  181. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/reader.rs +0 -0
  182. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/request_types.rs +0 -0
  183. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/resource_indexer.rs +0 -0
  184. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/schema.rs +0 -0
  185. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/src/search_query.rs +0 -0
  186. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/tests/common/mod.rs +0 -0
  187. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/tests/test_deletions.rs +0 -0
  188. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/tests/test_flow.rs +0 -0
  189. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/tests/test_search.rs +0 -0
  190. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_text/tests/test_streaming.rs +0 -0
  191. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_types/Cargo.toml +0 -0
  192. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_types/src/lib.rs +0 -0
  193. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_types/src/prefilter.rs +0 -0
  194. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_types/src/query_language.rs +0 -0
  195. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/Cargo.toml +0 -0
  196. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v1/node.rs +0 -0
  197. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v1/trie.rs +0 -0
  198. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v1/trie_ram.rs +0 -0
  199. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v1.rs +0 -0
  200. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v2/paragraph_store.rs +0 -0
  201. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v2/quant_vector_store.rs +0 -0
  202. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v2/vector_store.rs +0 -0
  203. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store/v2.rs +0 -0
  204. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_store.rs +0 -0
  205. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/data_types.rs +0 -0
  206. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/formula.rs +0 -0
  207. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/build.rs +0 -0
  208. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/disk/v1.rs +0 -0
  209. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/disk/v2.rs +0 -0
  210. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/disk.rs +0 -0
  211. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/params.rs +0 -0
  212. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/ram_hnsw.rs +0 -0
  213. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw/search.rs +0 -0
  214. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/hnsw.rs +0 -0
  215. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/indexer.rs +0 -0
  216. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
  217. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/inverted_index/map.rs +0 -0
  218. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/inverted_index.rs +0 -0
  219. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/lib.rs +0 -0
  220. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/multivector.rs +0 -0
  221. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/query_io.rs +0 -0
  222. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/request_types.rs +0 -0
  223. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/utils.rs +0 -0
  224. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
  225. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/vector_types/mod.rs +0 -0
  226. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/src/vector_types/rabitq.rs +0 -0
  227. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/nidx_vector/tests/common/mod.rs +0 -0
  228. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/api/grpc.rs +0 -0
  229. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/api/shards.rs +0 -0
  230. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/api.rs +0 -0
  231. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/control.rs +0 -0
  232. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/errors.rs +0 -0
  233. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/grpc_server.rs +0 -0
  234. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/lib.rs +0 -0
  235. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/main.rs +0 -0
  236. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata/deletion.rs +0 -0
  237. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata/index.rs +0 -0
  238. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata/index_request.rs +0 -0
  239. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata/segment.rs +0 -0
  240. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metadata/shard.rs +0 -0
  241. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/metrics.rs +0 -0
  242. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler/audit_task.rs +0 -0
  243. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler/log_merge.rs +0 -0
  244. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler/metrics_task.rs +0 -0
  245. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler/purge_tasks.rs +0 -0
  246. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler/vector_merge.rs +0 -0
  247. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/scheduler.rs +0 -0
  248. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/grpc.rs +0 -0
  249. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/index_cache.rs +0 -0
  250. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/query_language.rs +0 -0
  251. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/query_planner.rs +0 -0
  252. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/shard_search.rs +0 -0
  253. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/shard_selector.rs +0 -0
  254. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/shard_suggest.rs +0 -0
  255. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher/streams.rs +0 -0
  256. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/searcher.rs +0 -0
  257. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/segment_store.rs +0 -0
  258. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/settings.rs +0 -0
  259. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/telemetry/duration_layer.rs +0 -0
  260. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/telemetry/log_format.rs +0 -0
  261. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/telemetry/middleware.rs +0 -0
  262. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/telemetry.rs +0 -0
  263. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/tool.rs +0 -0
  264. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/utilization_tracker.rs +0 -0
  265. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/src/worker.rs +0 -0
  266. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/tests/common/mod.rs +0 -0
  267. {nidx_binding-6.9.7.post690 → nidx_binding-6.9.7.post701}/tests/common/services.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nidx_binding
3
- Version: 6.9.7.post690
3
+ Version: 6.9.7.post701
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -3,14 +3,14 @@ requires = [
3
3
  "pdm-backend",
4
4
  # Pin grpio-tools so `make protos` compile with the version we want
5
5
  # To use grpc stubs, you need a newer dependency than what was used to build this module
6
- "grpcio-tools>=1.71.0,==1.71.0,<1.72.0",
6
+ "grpcio-tools==1.76.0",
7
7
  "mypy-protobuf==3.6.0",
8
8
  ]
9
9
  build-backend = "pdm.backend"
10
10
 
11
11
  [project]
12
12
  name = "nidx_protos"
13
- version = "6.9.7.post690"
13
+ version = "6.9.7.post701"
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" }]
@@ -24,6 +24,12 @@ classifiers = [
24
24
  "Topic :: Software Development :: Libraries :: Python Modules",
25
25
  ]
26
26
  requires-python = ">=3.10, <4"
27
+ dependencies = [
28
+ "protobuf>=6.31.1,<7.0.0"
29
+ ]
30
+
31
+ [project.optional-dependencies]
32
+ grpc = ["grpcio>=1.76.0"]
27
33
 
28
34
  [project.urls]
29
35
  Homepage = "https://nuclia.com"
@@ -106,6 +106,8 @@ pub struct VectorConfig {
106
106
  pub vector_cardinality: VectorCardinality,
107
107
  #[serde(default, skip_serializing_if = "Vec::is_empty")]
108
108
  pub flags: Vec<String>,
109
+ #[serde(default)]
110
+ pub disable_indexes: bool,
109
111
  }
110
112
 
111
113
  impl VectorConfig {
@@ -144,6 +146,7 @@ impl TryFrom<VectorIndexConfig> for VectorConfig {
144
146
  vector_type,
145
147
  flags: vec![],
146
148
  vector_cardinality: VectorCardinality::Single,
149
+ disable_indexes: false,
147
150
  })
148
151
  }
149
152
  }
@@ -219,6 +219,7 @@ mod tests {
219
219
  normalize_vectors: false,
220
220
  flags: vec![],
221
221
  vector_cardinality: VectorCardinality::Single,
222
+ disable_indexes: false,
222
223
  };
223
224
 
224
225
  #[test]
@@ -416,6 +416,7 @@ mod tests {
416
416
  vector_type: VectorType::DenseF32 { dimension: 3 },
417
417
  flags: vec![],
418
418
  vector_cardinality: VectorCardinality::Single,
419
+ disable_indexes: false,
419
420
  };
420
421
  let raw_sentences = [
421
422
  (
@@ -511,6 +512,7 @@ mod tests {
511
512
  vector_type: VectorType::DenseF32 { dimension: 3 },
512
513
  flags: vec![],
513
514
  vector_cardinality: VectorCardinality::Single,
515
+ disable_indexes: false,
514
516
  };
515
517
  let raw_sentences = [
516
518
  (
@@ -625,6 +627,7 @@ mod tests {
625
627
  vector_type: VectorType::DenseF32 { dimension: 3 },
626
628
  flags: vec![],
627
629
  vector_cardinality: VectorCardinality::Single,
630
+ disable_indexes: false,
628
631
  };
629
632
  let raw_sentences = [
630
633
  (
@@ -35,6 +35,7 @@ const CONFIG: VectorConfig = VectorConfig {
35
35
  vector_type: crate::config::VectorType::DenseF32 { dimension: 128 },
36
36
  flags: vec![],
37
37
  vector_cardinality: VectorCardinality::Single,
38
+ disable_indexes: false,
38
39
  };
39
40
 
40
41
  fn create_query() -> Vec<f32> {
@@ -56,7 +56,7 @@ pub fn open(metadata: VectorSegmentMetadata, config: &VectorConfig) -> VectorR<O
56
56
  let data_store = DataStoreV2::open(path, &config.vector_type, OpenReason::Search { prewarm })?;
57
57
  // Build the index at runtime if they do not exist. This can
58
58
  // be removed once we have migrated all existing indexes
59
- if !InvertedIndexes::exists(path) {
59
+ if !InvertedIndexes::exists(path) && !config.disable_indexes {
60
60
  build_indexes(path, &data_store)?;
61
61
  }
62
62
  Box::new(data_store)
@@ -64,7 +64,15 @@ pub fn open(metadata: VectorSegmentMetadata, config: &VectorConfig) -> VectorR<O
64
64
 
65
65
  let index = open_disk_hnsw(path, prewarm)?;
66
66
 
67
- let inverted_indexes = InvertedIndexes::open(path, metadata.records, inverted_index::OpenOptions { prewarm })?;
67
+ let inverted_indexes = if !config.disable_indexes {
68
+ Some(InvertedIndexes::open(
69
+ path,
70
+ metadata.records,
71
+ inverted_index::OpenOptions { prewarm },
72
+ )?)
73
+ } else {
74
+ None
75
+ };
68
76
  let alive_bitset = FilterBitSet::new(metadata.records, true);
69
77
 
70
78
  Ok(OpenSegment {
@@ -160,12 +168,16 @@ fn merge_indexes<DS: DataStore + 'static>(
160
168
  },
161
169
  };
162
170
 
163
- build_indexes(segment_path, &data_store)?;
164
- let inverted_indexes = InvertedIndexes::open(
165
- segment_path,
166
- merged_vectors_count as usize,
167
- inverted_index::OpenOptions { prewarm: false },
168
- )?;
171
+ let inverted_indexes = if !config.disable_indexes {
172
+ build_indexes(segment_path, &data_store)?;
173
+ Some(InvertedIndexes::open(
174
+ segment_path,
175
+ merged_vectors_count as usize,
176
+ inverted_index::OpenOptions { prewarm: false },
177
+ )?)
178
+ } else {
179
+ None
180
+ };
169
181
  let alive_bitset = FilterBitSet::new(metadata.records, true);
170
182
 
171
183
  Ok(OpenSegment {
@@ -250,12 +262,15 @@ fn create_indexes<DS: DataStore + 'static>(
250
262
  index_metadata: VectorSegmentMeta { tags },
251
263
  };
252
264
 
253
- build_indexes(path, &data_store)?;
254
- let inverted_indexes = InvertedIndexes::open(
255
- path,
256
- vector_count as usize,
257
- inverted_index::OpenOptions { prewarm: false },
258
- )?;
265
+ let inverted_indexes = if !config.disable_indexes {
266
+ Some(InvertedIndexes::open(
267
+ path,
268
+ vector_count as usize,
269
+ inverted_index::OpenOptions { prewarm: false },
270
+ )?)
271
+ } else {
272
+ None
273
+ };
259
274
  let alive_bitset = FilterBitSet::new(metadata.records, true);
260
275
 
261
276
  Ok(OpenSegment {
@@ -396,7 +411,7 @@ pub struct OpenSegment {
396
411
  metadata: VectorSegmentMetadata,
397
412
  data_store: Box<dyn DataStore>,
398
413
  index: Box<dyn DiskHnsw>,
399
- inverted_indexes: InvertedIndexes,
414
+ inverted_indexes: Option<InvertedIndexes>,
400
415
  alive_bitset: FilterBitSet,
401
416
  }
402
417
 
@@ -408,7 +423,10 @@ impl AsRef<OpenSegment> for OpenSegment {
408
423
 
409
424
  impl OpenSegment {
410
425
  pub fn apply_deletion(&mut self, key: &str) {
411
- if let Some(deleted_ids) = self.inverted_indexes.ids_for_deletion_key(key) {
426
+ let Some(inverted_indexes) = &self.inverted_indexes else {
427
+ return;
428
+ };
429
+ if let Some(deleted_ids) = inverted_indexes.ids_for_deletion_key(key) {
412
430
  for id in deleted_ids {
413
431
  self.alive_bitset.remove(id);
414
432
  }
@@ -428,7 +446,9 @@ impl OpenSegment {
428
446
  }
429
447
 
430
448
  pub fn space_usage(&self) -> usize {
431
- self.data_store.size_bytes() + self.index.size() + self.inverted_indexes.space_usage()
449
+ self.data_store.size_bytes()
450
+ + self.index.size()
451
+ + self.inverted_indexes.as_ref().map_or(0, InvertedIndexes::space_usage)
432
452
  }
433
453
 
434
454
  pub fn get_paragraph(&self, id: ParagraphAddr) -> ParagraphRef<'_> {
@@ -478,7 +498,7 @@ impl OpenSegment {
478
498
  };
479
499
  let retriever = Retriever::new(data_store, config, min_score);
480
500
 
481
- let mut filter_bitset = self.inverted_indexes.filter(filter);
501
+ let mut filter_bitset = self.inverted_indexes.as_ref().and_then(|ii| ii.filter(filter));
482
502
  if let Some(ref mut bitset) = filter_bitset {
483
503
  bitset.intersect_with(&self.alive_bitset);
484
504
  }
@@ -710,6 +730,7 @@ mod test {
710
730
  normalize_vectors: false,
711
731
  flags: vec![],
712
732
  vector_cardinality: VectorCardinality::Single,
733
+ disable_indexes: false,
713
734
  };
714
735
  let mut rng = SmallRng::seed_from_u64(1234567890);
715
736
  let temp_dir = tempdir()?;
@@ -756,6 +777,7 @@ mod test {
756
777
  normalize_vectors: false,
757
778
  flags: vec![],
758
779
  vector_cardinality: VectorCardinality::Single,
780
+ disable_indexes: false,
759
781
  };
760
782
  let mut rng = SmallRng::seed_from_u64(1234567890);
761
783
 
@@ -834,6 +856,7 @@ mod test {
834
856
  normalize_vectors: false,
835
857
  flags: vec![],
836
858
  vector_cardinality: VectorCardinality::Single,
859
+ disable_indexes: false,
837
860
  };
838
861
 
839
862
  // Create a segment
@@ -62,6 +62,7 @@ fn test_basic_search(
62
62
  normalize_vectors: false,
63
63
  flags,
64
64
  vector_cardinality: VectorCardinality::Single,
65
+ disable_indexes: false,
65
66
  };
66
67
 
67
68
  // Creates a resource with some orthogonal vectors, to test search
@@ -163,6 +164,7 @@ fn test_deletions() -> anyhow::Result<()> {
163
164
  normalize_vectors: false,
164
165
  flags: vec![],
165
166
  vector_cardinality: VectorCardinality::Single,
167
+ disable_indexes: false,
166
168
  };
167
169
 
168
170
  // Creates a couple of resources
@@ -240,6 +242,7 @@ fn test_filtered_search() -> anyhow::Result<()> {
240
242
  normalize_vectors: false,
241
243
  flags: vec![],
242
244
  vector_cardinality: VectorCardinality::Single,
245
+ disable_indexes: false,
243
246
  };
244
247
 
245
248
  // Create 4 resources
@@ -37,6 +37,7 @@ fn test_hidden_search() -> anyhow::Result<()> {
37
37
  vector_type: nidx_vector::config::VectorType::DenseF32 { dimension: 4 },
38
38
  flags: vec![],
39
39
  vector_cardinality: VectorCardinality::Single,
40
+ disable_indexes: false,
40
41
  };
41
42
 
42
43
  // Create two resources, one hidden and one not
@@ -53,6 +53,7 @@ fn test_maxsim() -> anyhow::Result<()> {
53
53
  normalize_vectors: false,
54
54
  vector_cardinality: VectorCardinality::Multi,
55
55
  flags: vec![],
56
+ disable_indexes: false,
56
57
  };
57
58
 
58
59
  // Creates a resource with some orthogonal vectors, to test search
@@ -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.7.post690"
16
+ version = "6.9.7.post701"
17
17
 
18
18
  [project.urls]
19
19
  Homepage = "https://nuclia.com"
@@ -282,6 +282,7 @@ mod tests {
282
282
  vector_type: VectorType::DenseF32 { dimension: 3 },
283
283
  flags: vec![],
284
284
  vector_cardinality: VectorCardinality::Single,
285
+ disable_indexes: false,
285
286
  };
286
287
 
287
288
  #[sqlx::test]
@@ -435,6 +435,7 @@ mod tests {
435
435
  vector_type: VectorType::DenseF32 { dimension: 3 },
436
436
  flags: vec![],
437
437
  vector_cardinality: VectorCardinality::Single,
438
+ disable_indexes: false,
438
439
  };
439
440
 
440
441
  #[sqlx::test]
@@ -134,6 +134,7 @@ mod tests {
134
134
  vector_type: nidx_vector::config::VectorType::DenseF32 { dimension: 3 },
135
135
  flags: vec![],
136
136
  vector_cardinality: VectorCardinality::Single,
137
+ disable_indexes: false,
137
138
  };
138
139
 
139
140
  #[sqlx::test]
@@ -106,6 +106,7 @@ mod tests {
106
106
  vector_type: VectorType::DenseF32 { dimension: 3 },
107
107
  flags: vec![],
108
108
  vector_cardinality: VectorCardinality::Single,
109
+ disable_indexes: false,
109
110
  };
110
111
 
111
112
  #[sqlx::test(migrations = false)]
@@ -162,6 +162,7 @@ mod tests {
162
162
  vector_type: nidx_vector::config::VectorType::DenseF32 { dimension: 3 },
163
163
  flags: vec![],
164
164
  vector_cardinality: VectorCardinality::Single,
165
+ disable_indexes: false,
165
166
  };
166
167
 
167
168
  fn merge_scheduler() -> MergeScheduler {
@@ -614,6 +614,7 @@ mod tests {
614
614
  vector_type: nidx_vector::config::VectorType::DenseF32 { dimension: 3 },
615
615
  flags: vec![],
616
616
  vector_cardinality: VectorCardinality::Single,
617
+ disable_indexes: false,
617
618
  };
618
619
 
619
620
  #[sqlx::test]
@@ -18,11 +18,9 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
21
  use std::collections::HashMap;
24
22
 
25
- use common::services::NidxFixture;
23
+ use crate::common::services::NidxFixture;
26
24
  use nidx_protos::filter_expression::date_range_filter::DateField;
27
25
  use nidx_protos::filter_expression::{DateRangeFilter, Expr, FilterExpressionList};
28
26
  use nidx_protos::prost_types::Timestamp;
@@ -0,0 +1,32 @@
1
+ // Copyright (C) 2021 Bosutech XXI S.L.
2
+ //
3
+ // nucliadb is offered under the AGPL v3.0 and as commercial software.
4
+ // For commercial licensing, contact us at info@nuclia.com.
5
+ //
6
+ // AGPL:
7
+ // This program is free software: you can redistribute it and/or modify
8
+ // it under the terms of the GNU Affero General Public License as
9
+ // published by the Free Software Foundation, either version 3 of the
10
+ // License, or (at your option) any later version.
11
+ //
12
+ // This program is distributed in the hope that it will be useful,
13
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ // GNU Affero General Public License for more details.
16
+ //
17
+ // You should have received a copy of the GNU Affero General Public License
18
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ //
20
+
21
+ mod date_range_search;
22
+ mod search_filtering;
23
+ mod search_relations;
24
+ mod search_sorting;
25
+ mod searcher_cluster;
26
+ mod security_search;
27
+ mod shards;
28
+ mod shards_api;
29
+ mod suggest;
30
+ mod synced_searcher;
31
+ mod vector_normalization;
32
+ mod vectorsets;
@@ -18,9 +18,7 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
- use common::services::NidxFixture;
21
+ use crate::common::services::NidxFixture;
24
22
  use nidx_protos::filter_expression::{Expr, FieldFilter, FilterExpressionList, KeywordFilter, ResourceFilter};
25
23
  use nidx_protos::prost_types::Timestamp;
26
24
  use nidx_protos::{FilterExpression, nodereader, noderesources};
@@ -18,12 +18,10 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
21
  use std::collections::HashMap;
24
22
  use std::time::SystemTime;
25
23
 
26
- use common::services::NidxFixture;
24
+ use crate::common::services::NidxFixture;
27
25
  use nidx_protos::VectorIndexConfig;
28
26
  use nidx_protos::filter_expression::{Expr, ResourceFilter};
29
27
  use nidx_protos::graph_query::node::{FuzzyMatch, MatchKind, MatchLocation};
@@ -18,12 +18,10 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
21
  use std::collections::HashMap;
24
22
  use std::time::SystemTime;
25
23
 
26
- use common::services::NidxFixture;
24
+ use crate::common::services::NidxFixture;
27
25
  use nidx_protos::nodewriter::VectorIndexConfig;
28
26
  use nidx_protos::prost_types::Timestamp;
29
27
  use nidx_protos::resource::ResourceStatus;
@@ -18,9 +18,7 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
- use common::services::NidxFixture;
21
+ use crate::common::services::NidxFixture;
24
22
  use nidx::grpc_server::GrpcServer;
25
23
  use nidx::searcher::{ListNodes, SyncedSearcher, grpc::SearchServer, shard_selector::ShardSelector};
26
24
  use nidx_protos::SearchRequest;
@@ -18,12 +18,10 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
21
  use std::collections::HashMap;
24
22
  use std::time::SystemTime;
25
23
 
26
- use common::services::NidxFixture;
24
+ use crate::common::services::NidxFixture;
27
25
  use nidx_protos::nodewriter::VectorIndexConfig;
28
26
  use nidx_protos::prost_types::Timestamp;
29
27
  use nidx_protos::relation::RelationType;
@@ -18,11 +18,9 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
21
  use std::collections::HashMap;
24
22
 
25
- use common::services::NidxFixture;
23
+ use crate::common::services::NidxFixture;
26
24
  use nidx_protos::{
27
25
  EmptyQuery, GetShardRequest, NewShardRequest, ShardId, VectorIndexConfig, nidx::nidx_api_client::NidxApiClient,
28
26
  };
@@ -18,8 +18,6 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
21
  use std::collections::{HashMap, HashSet};
24
22
  use std::sync::Arc;
25
23
 
@@ -37,7 +35,7 @@ use nidx::{NidxMetadata, metadata::Shard};
37
35
  use nidx_tests::*;
38
36
  use nidx_vector::config::{VectorCardinality, VectorConfig};
39
37
 
40
- use common::metadata::{count_deletions, count_indexes, count_merge_jobs, count_segments, count_shards};
38
+ use crate::common::metadata::{count_deletions, count_indexes, count_merge_jobs, count_segments, count_shards};
41
39
 
42
40
  const VECTOR_CONFIG: VectorConfig = VectorConfig {
43
41
  similarity: nidx_vector::config::Similarity::Cosine,
@@ -45,6 +43,7 @@ const VECTOR_CONFIG: VectorConfig = VectorConfig {
45
43
  vector_type: nidx_vector::config::VectorType::DenseF32 { dimension: 3 },
46
44
  flags: vec![],
47
45
  vector_cardinality: VectorCardinality::Single,
46
+ disable_indexes: false,
48
47
  };
49
48
 
50
49
  #[sqlx::test]
@@ -18,9 +18,7 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
- use common::services::NidxFixture;
21
+ use crate::common::services::NidxFixture;
24
22
  use itertools::Itertools;
25
23
  use nidx_protos::{
26
24
  FilterExpression, NewShardRequest, SuggestFeatures, SuggestRequest, SuggestResponse, VectorIndexConfig,
@@ -43,6 +43,7 @@ const VECTOR_CONFIG: VectorConfig = VectorConfig {
43
43
  vector_type: nidx_vector::config::VectorType::DenseF32 { dimension: 3 },
44
44
  flags: vec![],
45
45
  vector_cardinality: VectorCardinality::Single,
46
+ disable_indexes: false,
46
47
  };
47
48
 
48
49
  #[sqlx::test]
@@ -18,9 +18,7 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
- use common::services::NidxFixture;
21
+ use crate::common::services::NidxFixture;
24
22
  use sqlx::PgPool;
25
23
  use std::collections::HashMap;
26
24
  use std::time::SystemTime;
@@ -18,9 +18,7 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
- mod common;
22
-
23
- use common::services::NidxFixture;
21
+ use crate::common::services::NidxFixture;
24
22
  use nidx_protos::{
25
23
  NewShardRequest, NewVectorSetRequest, ShardId, VectorIndexConfig, VectorSetId, VectorSimilarity, op_status::Status,
26
24
  };
@@ -0,0 +1,27 @@
1
+ // Copyright (C) 2021 Bosutech XXI S.L.
2
+ //
3
+ // nucliadb is offered under the AGPL v3.0 and as commercial software.
4
+ // For commercial licensing, contact us at info@nuclia.com.
5
+ //
6
+ // AGPL:
7
+ // This program is free software: you can redistribute it and/or modify
8
+ // it under the terms of the GNU Affero General Public License as
9
+ // published by the Free Software Foundation, either version 3 of the
10
+ // License, or (at your option) any later version.
11
+ //
12
+ // This program is distributed in the hope that it will be useful,
13
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ // GNU Affero General Public License for more details.
16
+ //
17
+ // You should have received a copy of the GNU Affero General Public License
18
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ //
20
+
21
+ mod common;
22
+
23
+ // We put all tests in submodules so we can keep granularity
24
+ // but we import them into a single module here so they compile
25
+ // into a single binary, which is significantly faster since linking
26
+ // is a bottleneck.
27
+ mod integration;