nidx-binding 6.3.7.post321__tar.gz → 6.3.7.post331__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 (246) hide show
  1. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/PKG-INFO +1 -1
  2. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_protos/build.py +0 -4
  3. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_protos/pyproject.toml +7 -6
  4. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/io_maps.rs +2 -20
  5. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/lib.rs +1 -7
  6. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/reader.rs +3 -111
  7. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/pyproject.toml +1 -1
  8. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/query_planner.rs +5 -142
  9. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/shard_search.rs +2 -38
  10. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_date_range_search.rs +2 -2
  11. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_search_relations.rs +4 -311
  12. nidx_binding-6.3.7.post321/nidx_relation/tests/test_reader.rs +0 -286
  13. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
  14. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
  15. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
  16. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
  17. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
  18. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
  19. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
  20. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
  21. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
  22. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
  23. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
  24. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
  25. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
  26. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
  27. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
  28. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
  29. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
  30. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
  31. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
  32. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
  33. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
  34. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
  35. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
  36. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
  37. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
  38. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
  39. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-8d33717587c6ee8f5fc339a80b1212a73d6c03e45856b1d55457fc8074709dd0.json +0 -0
  40. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
  41. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
  42. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
  43. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
  44. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
  45. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
  46. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
  47. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa.json +0 -0
  48. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
  49. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
  50. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
  51. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
  52. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
  53. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
  54. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
  55. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
  56. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
  57. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
  58. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
  59. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
  60. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
  61. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
  62. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
  63. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
  64. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
  65. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
  66. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
  67. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
  68. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
  69. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
  70. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
  71. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
  72. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/Cargo.lock +0 -0
  73. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/Cargo.toml +0 -0
  74. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/README.md +0 -0
  75. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/migrations/20241007163501_initial.sql +0 -0
  76. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/migrations/20241211120039_merge_job_priority.sql +0 -0
  77. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/migrations/20241211121159_basic_indexes.sql +0 -0
  78. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/migrations/20241212151105_check_segment_records.sql +0 -0
  79. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/migrations/20250110145554_in_flight_messages.sql +0 -0
  80. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_binding/Cargo.toml +0 -0
  81. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_binding/src/lib.rs +0 -0
  82. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/Cargo.toml +0 -0
  83. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/fuzzy_query.rs +0 -0
  84. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/lib.rs +0 -0
  85. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/query_io.rs +0 -0
  86. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/reader.rs +0 -0
  87. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/request_types.rs +0 -0
  88. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/resource_indexer.rs +0 -0
  89. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/schema.rs +0 -0
  90. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/search_query.rs +0 -0
  91. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/search_response.rs +0 -0
  92. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/set_query.rs +0 -0
  93. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/src/stop_words.rs +0 -0
  94. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/README.md +0 -0
  95. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/ar.json +0 -0
  96. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/az.json +0 -0
  97. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/bn.json +0 -0
  98. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/ca.json +0 -0
  99. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/ch.json +0 -0
  100. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/da.json +0 -0
  101. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/de.json +0 -0
  102. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/el.json +0 -0
  103. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/en.json +0 -0
  104. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/es.json +0 -0
  105. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/eu.json +0 -0
  106. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/extract.py +0 -0
  107. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/fi.json +0 -0
  108. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/fr.json +0 -0
  109. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/he.json +0 -0
  110. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/hu.json +0 -0
  111. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/id.json +0 -0
  112. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/it.json +0 -0
  113. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/kk.json +0 -0
  114. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/ne.json +0 -0
  115. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/nl.json +0 -0
  116. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/no.json +0 -0
  117. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/pt.json +0 -0
  118. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/ro.json +0 -0
  119. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/ru.json +0 -0
  120. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/sl.json +0 -0
  121. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/sv.json +0 -0
  122. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/tg.json +0 -0
  123. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/stop_words/tr.json +0 -0
  124. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/tests/common/mod.rs +0 -0
  125. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_paragraph/tests/reader.rs +0 -0
  126. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_protos/Cargo.toml +0 -0
  127. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_protos/build.rs +0 -0
  128. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_protos/src/lib.rs +0 -0
  129. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_protos/src/nidx.proto +0 -0
  130. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/Cargo.toml +0 -0
  131. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/graph_collector.rs +0 -0
  132. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/graph_query_parser.rs +0 -0
  133. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/resource_indexer.rs +0 -0
  134. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/schema.rs +0 -0
  135. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/src/top_unique_n.rs +0 -0
  136. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/tests/common/mod.rs +0 -0
  137. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
  138. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/tests/test_graph_search.rs +0 -0
  139. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_relation/tests/test_writer.rs +0 -0
  140. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_tantivy/Cargo.toml +0 -0
  141. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_tantivy/src/index_reader.rs +0 -0
  142. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_tantivy/src/lib.rs +0 -0
  143. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_tests/Cargo.toml +0 -0
  144. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_tests/src/graph.rs +0 -0
  145. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_tests/src/lib.rs +0 -0
  146. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/Cargo.toml +0 -0
  147. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/lib.rs +0 -0
  148. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/prefilter.rs +0 -0
  149. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/query_io.rs +0 -0
  150. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/reader.rs +0 -0
  151. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/request_types.rs +0 -0
  152. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/resource_indexer.rs +0 -0
  153. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/schema.rs +0 -0
  154. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/src/search_query.rs +0 -0
  155. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/tests/common/mod.rs +0 -0
  156. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/tests/test_deletions.rs +0 -0
  157. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/tests/test_flow.rs +0 -0
  158. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/tests/test_search.rs +0 -0
  159. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_text/tests/test_streaming.rs +0 -0
  160. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_types/Cargo.toml +0 -0
  161. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_types/src/lib.rs +0 -0
  162. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_types/src/prefilter.rs +0 -0
  163. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_types/src/query_language.rs +0 -0
  164. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/Cargo.toml +0 -0
  165. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/config.rs +0 -0
  166. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/disk_hnsw.rs +0 -0
  167. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/mod.rs +0 -0
  168. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/node.rs +0 -0
  169. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/ops_hnsw.rs +0 -0
  170. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/params.rs +0 -0
  171. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/ram_hnsw.rs +0 -0
  172. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point/tests.rs +0 -0
  173. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point_provider/mod.rs +0 -0
  174. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_point_provider/reader.rs +0 -0
  175. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_types/data_store.rs +0 -0
  176. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_types/mod.rs +0 -0
  177. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_types/trie.rs +0 -0
  178. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/data_types/trie_ram.rs +0 -0
  179. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/formula/mod.rs +0 -0
  180. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/indexer.rs +0 -0
  181. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
  182. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/inverted_index/map.rs +0 -0
  183. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/inverted_index.rs +0 -0
  184. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/lib.rs +0 -0
  185. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/query_io.rs +0 -0
  186. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/request_types.rs +0 -0
  187. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/utils.rs +0 -0
  188. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
  189. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/src/vector_types/mod.rs +0 -0
  190. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/tests/common/mod.rs +0 -0
  191. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/tests/test_basic_search.rs +0 -0
  192. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/nidx_vector/tests/test_hidden.rs +0 -0
  193. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/api/grpc.rs +0 -0
  194. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/api/shards.rs +0 -0
  195. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/api.rs +0 -0
  196. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/control.rs +0 -0
  197. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/errors.rs +0 -0
  198. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/grpc_server.rs +0 -0
  199. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/import_export.rs +0 -0
  200. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/indexer.rs +0 -0
  201. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/lib.rs +0 -0
  202. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/main.rs +0 -0
  203. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata/deletion.rs +0 -0
  204. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata/index.rs +0 -0
  205. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata/index_request.rs +0 -0
  206. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata/merge_job.rs +0 -0
  207. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata/segment.rs +0 -0
  208. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata/shard.rs +0 -0
  209. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metadata.rs +0 -0
  210. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/metrics.rs +0 -0
  211. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler/audit_task.rs +0 -0
  212. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler/log_merge.rs +0 -0
  213. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler/merge_task.rs +0 -0
  214. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler/metrics_task.rs +0 -0
  215. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler/purge_tasks.rs +0 -0
  216. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler/vector_merge.rs +0 -0
  217. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/scheduler.rs +0 -0
  218. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/grpc.rs +0 -0
  219. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/index_cache.rs +0 -0
  220. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/query_language.rs +0 -0
  221. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/shard_selector.rs +0 -0
  222. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/shard_suggest.rs +0 -0
  223. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/streams.rs +0 -0
  224. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher/sync.rs +0 -0
  225. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/searcher.rs +0 -0
  226. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/segment_store.rs +0 -0
  227. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/settings.rs +0 -0
  228. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/telemetry/duration_layer.rs +0 -0
  229. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/telemetry/log_format.rs +0 -0
  230. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/telemetry/middleware.rs +0 -0
  231. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/telemetry.rs +0 -0
  232. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/tool.rs +0 -0
  233. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/utilization_tracker.rs +0 -0
  234. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/src/worker.rs +0 -0
  235. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/common/mod.rs +0 -0
  236. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/common/services.rs +0 -0
  237. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_search_filtering.rs +0 -0
  238. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_search_sorting.rs +0 -0
  239. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_searcher_cluster.rs +0 -0
  240. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_security_search.rs +0 -0
  241. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_shards.rs +0 -0
  242. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_shards_api.rs +0 -0
  243. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_suggest.rs +0 -0
  244. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_synced_searcher.rs +0 -0
  245. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_vector_normalization.rs +0 -0
  246. {nidx_binding-6.3.7.post321 → nidx_binding-6.3.7.post331}/tests/test_vectorsets.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nidx_binding
3
- Version: 6.3.7.post321
3
+ Version: 6.3.7.post331
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -53,7 +53,3 @@ def pdm_build_initialize(context):
53
53
 
54
54
  # Create py.typed to enable type checking
55
55
  open(f"{python_dir}/py.typed", "w")
56
-
57
-
58
- def get_version():
59
- return open("../../VERSION").read()
@@ -1,10 +1,15 @@
1
1
  [build-system]
2
- requires = ["pdm-backend", "grpcio-tools>=1.71.0,<1.72.0"]
2
+ requires = [
3
+ "pdm-backend",
4
+ # Pin grpio-tools so `make protos` compile with the version we want
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.72.0"
7
+ ]
3
8
  build-backend = "pdm.backend"
4
9
 
5
10
  [project]
6
11
  name = "nidx_protos"
7
- version = "6.3.7.post321"
12
+ version = "6.3.7.post331"
8
13
  license = { text = "AGPL" }
9
14
  description = "Protobuf definitions for nucliadb/nidx"
10
15
  authors = [ { name = "Nuclia", email = "nucliadb@nuclia.com" }]
@@ -26,7 +31,3 @@ Repository = "https://github.com/nuclia/nucliadb"
26
31
 
27
32
  [tool.pdm.build]
28
33
  custom-hook = "build.py"
29
-
30
- [tool.pdm.version]
31
- source = "call"
32
- getter = "build:get_version"
@@ -18,10 +18,10 @@
18
18
  // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  //
20
20
 
21
+ use nidx_protos::prost::*;
21
22
  use nidx_protos::relation::RelationType;
22
23
  use nidx_protos::relation_node::NodeType;
23
- use nidx_protos::{IndexRelation, prost::*};
24
- use nidx_protos::{Relation as ProtosRelation, RelationMetadata, RelationNode};
24
+ use nidx_protos::{RelationMetadata, RelationNode};
25
25
  use tantivy::TantivyDocument;
26
26
  use tantivy::schema::Value;
27
27
 
@@ -98,16 +98,6 @@ pub fn target_to_relation_node(schema: &Schema, doc: &TantivyDocument) -> Relati
98
98
  }
99
99
  }
100
100
 
101
- pub fn doc_to_relation(schema: &Schema, doc: &TantivyDocument) -> ProtosRelation {
102
- ProtosRelation {
103
- metadata: decode_metadata(schema, doc),
104
- relation: u64_to_relation_type::<i32>(schema.relationship(doc)),
105
- relation_label: schema.relationship_label(doc).to_string(),
106
- source: Some(source_to_relation_node(schema, doc)),
107
- to: Some(target_to_relation_node(schema, doc)),
108
- }
109
- }
110
-
111
101
  pub fn doc_to_resource_field_id(schema: &Schema, doc: &TantivyDocument) -> Option<String> {
112
102
  doc.get_first(schema.resource_field_id).map(|v| {
113
103
  let (rid, fid) = decode_field_id(v.as_bytes().unwrap());
@@ -121,14 +111,6 @@ pub fn doc_to_facets(schema: &Schema, doc: &TantivyDocument) -> Vec<String> {
121
111
  .collect()
122
112
  }
123
113
 
124
- pub fn doc_to_index_relation(schema: &Schema, doc: &TantivyDocument) -> IndexRelation {
125
- IndexRelation {
126
- relation: Some(doc_to_relation(schema, doc)),
127
- resource_field_id: doc_to_resource_field_id(schema, doc),
128
- facets: doc_to_facets(schema, doc),
129
- }
130
- }
131
-
132
114
  pub fn doc_to_graph_relation(schema: &Schema, doc: &TantivyDocument) -> nidx_protos::graph_search_response::Relation {
133
115
  nidx_protos::graph_search_response::Relation {
134
116
  relation_type: u64_to_relation_type::<i32>(schema.relationship(doc)),
@@ -34,8 +34,7 @@ use nidx_protos::graph_query::node::NewMatchKind;
34
34
  use nidx_protos::graph_query::path_query;
35
35
  use nidx_protos::graph_search_request::QueryKind;
36
36
  use nidx_protos::{
37
- GraphSearchRequest, GraphSearchResponse, RelationNode, RelationSearchRequest, RelationSearchResponse,
38
- relation_node::NodeType, resource::ResourceStatus,
37
+ GraphSearchRequest, GraphSearchResponse, RelationNode, relation_node::NodeType, resource::ResourceStatus,
39
38
  };
40
39
  use nidx_tantivy::{
41
40
  TantivyIndexer, TantivyMeta, TantivySegmentMetadata,
@@ -208,11 +207,6 @@ impl RelationSearcher {
208
207
  }
209
208
 
210
209
  #[instrument(name = "relation::search", skip_all)]
211
- pub fn search(&self, request: &RelationSearchRequest) -> anyhow::Result<RelationSearchResponse> {
212
- self.reader.relation_search(request)
213
- }
214
-
215
- #[instrument(name = "relation::graph_search", skip_all)]
216
210
  pub fn graph_search(
217
211
  &self,
218
212
  request: &GraphSearchRequest,
@@ -21,29 +21,22 @@ use std::fmt::Debug;
21
21
  use std::path::Path;
22
22
 
23
23
  use nidx_protos::graph_search_request::QueryKind;
24
- use nidx_protos::{
25
- EntitiesSubgraphResponse, GraphSearchRequest, GraphSearchResponse, RelationNode, RelationSearchRequest,
26
- RelationSearchResponse,
27
- };
24
+ use nidx_protos::{GraphSearchRequest, GraphSearchResponse, RelationNode};
28
25
  use nidx_types::prefilter::{FieldId, PrefilterResult};
29
26
  use tantivy::collector::TopDocs;
30
- use tantivy::query::{BooleanQuery, EmptyQuery, Occur, Query, TermSetQuery};
27
+ use tantivy::query::{BooleanQuery, EmptyQuery, Query, TermSetQuery};
31
28
  use tantivy::schema::Field;
32
29
  use tantivy::{Index, IndexReader};
33
30
  use uuid::Uuid;
34
31
 
35
32
  use crate::graph_collector::{Selector, TopUniqueCollector};
36
- use crate::graph_query_parser::{
37
- BoolGraphQuery, BoolNodeQuery, Expression, GraphQuery, GraphQueryParser, Node, NodeQuery,
38
- };
33
+ use crate::graph_query_parser::{BoolGraphQuery, BoolNodeQuery, GraphQueryParser};
39
34
  use crate::schema::{Schema, decode_node, decode_relation, encode_field_id};
40
35
  use crate::top_unique_n::TopUniqueN;
41
36
  use crate::{RelationConfig, io_maps};
42
37
 
43
38
  pub const FUZZY_DISTANCE: u8 = 1;
44
39
  pub const NUMBER_OF_RESULTS_SUGGEST: usize = 20;
45
- // Hard limit until we have pagination in place
46
- const MAX_NUM_RELATIONS_RESULTS: usize = 500;
47
40
 
48
41
  pub struct RelationsReaderService {
49
42
  pub index: Index,
@@ -102,13 +95,6 @@ impl<'a, I: Iterator<Item = &'a FieldId>> Iterator for AddMetadataFieldIterator<
102
95
  }
103
96
 
104
97
  impl RelationsReaderService {
105
- pub fn relation_search(&self, request: &RelationSearchRequest) -> anyhow::Result<RelationSearchResponse> {
106
- Ok(RelationSearchResponse {
107
- subgraph: self.entities_subgraph_search(request)?,
108
- prefix: None,
109
- })
110
- }
111
-
112
98
  pub fn graph_search(
113
99
  &self,
114
100
  request: &GraphSearchRequest,
@@ -290,100 +276,6 @@ impl RelationsReaderService {
290
276
  schema: field_schema,
291
277
  })
292
278
  }
293
-
294
- // TODO: remove unused method
295
- fn entities_subgraph_search(
296
- &self,
297
- request: &RelationSearchRequest,
298
- ) -> anyhow::Result<Option<EntitiesSubgraphResponse>> {
299
- let Some(bfs_request) = request.subgraph.as_ref() else {
300
- return Ok(None);
301
- };
302
-
303
- if bfs_request.depth() != 1 {
304
- return Err(anyhow::anyhow!("Depth must be 1 right now"));
305
- }
306
-
307
- if bfs_request.entry_points.is_empty() {
308
- return Ok(Some(EntitiesSubgraphResponse::default()));
309
- }
310
-
311
- let query_parser = GraphQueryParser::new(&self.schema);
312
- let mut statements = vec![];
313
-
314
- // Entry points are source or target nodes we want to search for. We want any undirected
315
- // path containing any entry point
316
- for entry_point in bfs_request.entry_points.iter() {
317
- statements.push((
318
- Occur::Should,
319
- query_parser.parse(GraphQuery::NodeQuery(NodeQuery::Node(Expression::Value(Node {
320
- value: Some(entry_point.value.clone().into()),
321
- node_type: Some(entry_point.ntype()),
322
- node_subtype: Some(entry_point.subtype.clone()),
323
- })))),
324
- ));
325
- }
326
-
327
- // A query can specifiy nodes marked as deleted in the db (but not removed from the index).
328
- // We want to exclude any path containing any of those nodes.
329
- //
330
- // The request groups values per subtype (to optimize request size) but, as we don't support
331
- // OR at node value level, we'll split them.
332
- for deleted_nodes in bfs_request.deleted_entities.iter() {
333
- if deleted_nodes.node_values.is_empty() {
334
- continue;
335
- }
336
- statements.push((
337
- Occur::MustNot,
338
- query_parser.parse(GraphQuery::NodeQuery(NodeQuery::Node(Expression::Or(
339
- deleted_nodes
340
- .node_values
341
- .iter()
342
- .map(|deleted_entity_value| Node {
343
- value: Some(deleted_entity_value.clone().into()),
344
- node_subtype: Some(deleted_nodes.node_subtype.clone()),
345
- ..Default::default()
346
- })
347
- .collect(),
348
- )))),
349
- ));
350
- }
351
-
352
- // Subtypes can also be marked as deleted in the db (but kept in the index). We also want to
353
- // exclude any triplet containg a node with such subtypes
354
- let excluded_subtypes: Vec<_> = bfs_request
355
- .deleted_groups
356
- .iter()
357
- .map(|deleted_subtype| Node {
358
- node_subtype: Some(deleted_subtype.clone()),
359
- ..Default::default()
360
- })
361
- .collect();
362
-
363
- if !excluded_subtypes.is_empty() {
364
- statements.push((
365
- Occur::MustNot,
366
- query_parser.parse(GraphQuery::NodeQuery(NodeQuery::Node(Expression::Or(
367
- excluded_subtypes,
368
- )))),
369
- ))
370
- }
371
-
372
- let query: Box<dyn Query> = Box::new(BooleanQuery::new(statements));
373
- let searcher = self.reader.searcher();
374
-
375
- let topdocs = TopDocs::with_limit(MAX_NUM_RELATIONS_RESULTS);
376
- let matching_docs = searcher.search(&query, &topdocs)?;
377
- let mut response = EntitiesSubgraphResponse::default();
378
-
379
- for (_, doc_addr) in matching_docs {
380
- let source = searcher.doc(doc_addr)?;
381
- let index_relation = io_maps::doc_to_index_relation(&self.schema, &source);
382
- response.relations.push(index_relation);
383
- }
384
-
385
- Ok(Some(response))
386
- }
387
279
  }
388
280
 
389
281
  #[derive(Debug)]
@@ -13,7 +13,7 @@ classifiers = [
13
13
  "Programming Language :: Python :: Implementation :: CPython",
14
14
  "Programming Language :: Python :: Implementation :: PyPy",
15
15
  ]
16
- version = "6.3.7.post321"
16
+ version = "6.3.7.post331"
17
17
 
18
18
  [project.urls]
19
19
  Homepage = "https://nuclia.com"
@@ -20,12 +20,8 @@
20
20
 
21
21
  use nidx_paragraph::ParagraphSearchRequest;
22
22
  use nidx_protos::filter_expression::Expr;
23
- use nidx_protos::graph_query::{self, PathQuery, path_query};
24
23
  use nidx_protos::graph_search_request::QueryKind;
25
- use nidx_protos::search_request::GraphSearch;
26
- use nidx_protos::{
27
- EntitiesSubgraphRequest, FilterExpression, FilterOperator, GraphQuery, GraphSearchRequest, SearchRequest,
28
- };
24
+ use nidx_protos::{FilterExpression, FilterOperator, GraphSearchRequest, SearchRequest};
29
25
  use nidx_text::DocumentSearchRequest;
30
26
  use nidx_text::prefilter::*;
31
27
  use nidx_types::prefilter::PrefilterResult;
@@ -70,7 +66,7 @@ pub struct QueryPlan {
70
66
  }
71
67
 
72
68
  pub fn build_query_plan(search_request: SearchRequest) -> anyhow::Result<QueryPlan> {
73
- let graph_request = compute_relations_request(&search_request)?;
69
+ let graph_request = compute_graph_request(&search_request)?;
74
70
  let texts_request = compute_texts_request(&search_request);
75
71
  let vectors_request = compute_vectors_request(&search_request)?;
76
72
  let paragraphs_request = compute_paragraphs_request(&search_request)?;
@@ -177,22 +173,9 @@ fn compute_vectors_request(search_request: &SearchRequest) -> anyhow::Result<Opt
177
173
  }
178
174
 
179
175
  #[allow(deprecated)]
180
- fn compute_relations_request(search_request: &SearchRequest) -> anyhow::Result<Option<GraphSearchRequest>> {
181
- let graph_search = match (
182
- search_request.relation_subgraph.as_ref(),
183
- search_request.graph_search.as_ref(),
184
- ) {
185
- (None, None) => return Ok(None),
186
- (Some(_), Some(_)) => {
187
- return Err(anyhow::anyhow!(
188
- "Entities subgraph and graph search are mutually exclusive features"
189
- ));
190
- }
191
- (Some(bfs_request), None) => {
192
- // Bw/c: we'll convert the entities subgraph request into a graph request
193
- convert_entities_subgraph_into_graph_search(bfs_request)
194
- }
195
- (None, Some(graph_search)) => graph_search.clone(),
176
+ fn compute_graph_request(search_request: &SearchRequest) -> anyhow::Result<Option<GraphSearchRequest>> {
177
+ let Some(graph_search) = search_request.graph_search.clone() else {
178
+ return Ok(None);
196
179
  };
197
180
 
198
181
  Ok(Some(GraphSearchRequest {
@@ -205,126 +188,6 @@ fn compute_relations_request(search_request: &SearchRequest) -> anyhow::Result<O
205
188
  }))
206
189
  }
207
190
 
208
- fn convert_entities_subgraph_into_graph_search(bfs_request: &EntitiesSubgraphRequest) -> GraphSearch {
209
- if bfs_request.entry_points.is_empty() {
210
- return GraphSearch { query: None };
211
- }
212
-
213
- // Entry points are source or target nodes we want to search for. We want any undirected
214
- // path containing any entry point
215
- let entry_points_queries: Vec<PathQuery> = bfs_request
216
- .entry_points
217
- .iter()
218
- .map(|entry_point| PathQuery {
219
- query: Some(path_query::Query::Path(graph_query::Path {
220
- source: Some(graph_query::Node {
221
- value: Some(entry_point.value.clone()),
222
- node_type: Some(entry_point.ntype),
223
- node_subtype: Some(entry_point.subtype.clone()),
224
- ..Default::default()
225
- }),
226
- undirected: true,
227
- ..Default::default()
228
- })),
229
- })
230
- .collect();
231
-
232
- // A query can specifiy nodes marked as deleted in the db (but not removed from the index).
233
- // We want to exclude any path containing any of those nodes.
234
- //
235
- // The request groups values per subtype (to optimize request size) but, as we don't support
236
- // OR at node value level, we'll split them.
237
- let deleted_nodes_queries: Vec<PathQuery> = bfs_request
238
- .deleted_entities
239
- .iter()
240
- .flat_map(|deleted_nodes| {
241
- if deleted_nodes.node_values.is_empty() {
242
- return None;
243
- }
244
- let subtype = &deleted_nodes.node_subtype;
245
-
246
- let subqueries = deleted_nodes
247
- .node_values
248
- .iter()
249
- .map(|deleted_entity_value| PathQuery {
250
- query: Some(path_query::Query::Path(graph_query::Path {
251
- source: Some(graph_query::Node {
252
- value: Some(deleted_entity_value.clone()),
253
- node_subtype: Some(subtype.clone()),
254
- ..Default::default()
255
- }),
256
- undirected: true,
257
- ..Default::default()
258
- })),
259
- })
260
- .collect::<Vec<_>>();
261
- Some(subqueries)
262
- })
263
- .flatten()
264
- .collect();
265
-
266
- // Subtypes can also be marked as deleted in the db (but kept in the index). We also
267
- // want to exclude any triplet containg a node with such subtypes
268
- let excluded_subtypes_queries: Vec<PathQuery> = bfs_request
269
- .deleted_groups
270
- .iter()
271
- .map(|deleted_subtype| PathQuery {
272
- query: Some(path_query::Query::Path(graph_query::Path {
273
- source: Some(graph_query::Node {
274
- node_subtype: Some(deleted_subtype.clone()),
275
- ..Default::default()
276
- }),
277
- undirected: true,
278
- ..Default::default()
279
- })),
280
- })
281
- .collect::<Vec<_>>();
282
-
283
- let mut subqueries = vec![];
284
- if !entry_points_queries.is_empty() {
285
- // match any entry point
286
- subqueries.push(PathQuery {
287
- query: Some(path_query::Query::BoolOr(graph_query::BoolQuery {
288
- operands: entry_points_queries,
289
- })),
290
- });
291
- }
292
-
293
- if !deleted_nodes_queries.is_empty() {
294
- // exclude deleted nodes
295
- subqueries.push(PathQuery {
296
- query: Some(path_query::Query::BoolNot(Box::new(PathQuery {
297
- query: Some(path_query::Query::BoolOr(graph_query::BoolQuery {
298
- operands: deleted_nodes_queries,
299
- })),
300
- }))),
301
- });
302
- }
303
-
304
- if !excluded_subtypes_queries.is_empty() {
305
- // exclude specific subtypes
306
- subqueries.push(PathQuery {
307
- query: Some(path_query::Query::BoolNot(Box::new(PathQuery {
308
- query: Some(path_query::Query::BoolOr(graph_query::BoolQuery {
309
- operands: excluded_subtypes_queries,
310
- })),
311
- }))),
312
- });
313
- }
314
-
315
- let graph_query = GraphQuery {
316
- path: Some(PathQuery {
317
- query: Some(path_query::Query::BoolAnd(graph_query::BoolQuery {
318
- operands: subqueries,
319
- })),
320
- }),
321
- };
322
-
323
- GraphSearch {
324
- query: Some(graph_query),
325
- }
326
- }
327
-
328
191
  pub fn filter_to_boolean_expression(filter: FilterExpression) -> anyhow::Result<BooleanExpression<String>> {
329
192
  match filter.expr.unwrap() {
330
193
  Expr::BoolAnd(and) => {
@@ -21,10 +21,7 @@
21
21
  use std::sync::Arc;
22
22
 
23
23
  use nidx_paragraph::ParagraphSearcher;
24
- use nidx_protos::{
25
- EntitiesSubgraphResponse, GraphSearchRequest, GraphSearchResponse, IndexRelation, Relation, RelationSearchResponse,
26
- SearchRequest, SearchResponse,
27
- };
24
+ use nidx_protos::{GraphSearchRequest, GraphSearchResponse, SearchRequest, SearchResponse};
28
25
  use nidx_relation::RelationSearcher;
29
26
  use nidx_text::{TextSearcher, prefilter::PreFilterRequest};
30
27
  use nidx_types::prefilter::PrefilterResult;
@@ -172,44 +169,11 @@ fn blocking_search(
172
169
  }
173
170
  });
174
171
 
175
- let graph_response = rrelation.transpose()?;
176
-
177
- // Bw/c: convert graph search into relation response
178
- let relation_response = graph_response.clone().map(|graph_response| {
179
- let relations = graph_response
180
- .graph
181
- .into_iter()
182
- .map(|path| {
183
- let source = graph_response.nodes[path.source as usize].clone();
184
- let relation = graph_response.relations[path.relation as usize].clone();
185
- let destination = graph_response.nodes[path.destination as usize].clone();
186
-
187
- IndexRelation {
188
- relation: Some(Relation {
189
- source: Some(source),
190
- to: Some(destination),
191
- relation: relation.relation_type,
192
- relation_label: relation.label,
193
- metadata: path.metadata,
194
- }),
195
- resource_field_id: path.resource_field_id,
196
- facets: path.facets,
197
- }
198
- })
199
- .collect();
200
-
201
- RelationSearchResponse {
202
- subgraph: Some(EntitiesSubgraphResponse { relations }),
203
- ..Default::default()
204
- }
205
- });
206
-
207
172
  Ok(SearchResponse {
208
173
  document: rtext.transpose()?,
209
174
  paragraph: rparagraph.transpose()?,
210
175
  vector: rvector.transpose()?,
211
- relation: relation_response,
212
- graph: graph_response,
176
+ graph: rrelation.transpose()?,
213
177
  })
214
178
  }
215
179
 
@@ -254,7 +254,7 @@ async fn test_date_range_search(pool: PgPool) -> Result<(), Box<dyn std::error::
254
254
  assert_eq!(result.document, None);
255
255
  assert_eq!(result.paragraph, None);
256
256
  assert_eq!(result.vector, None);
257
- assert_eq!(result.relation, None);
257
+ assert_eq!(result.graph, None);
258
258
 
259
259
  // Multiple timestamps are parsed as AND conditions
260
260
  let mut request_second_batch = request.clone();
@@ -283,7 +283,7 @@ async fn test_date_range_search(pool: PgPool) -> Result<(), Box<dyn std::error::
283
283
  assert_eq!(result.document, None);
284
284
  assert_eq!(result.paragraph, None);
285
285
  assert_eq!(result.vector, None);
286
- assert_eq!(result.relation, None);
286
+ assert_eq!(result.graph, None);
287
287
 
288
288
  Ok(())
289
289
  }