Add OpenSearch search backend with hybrid neural+BM25 support

Extract a SearchBackend trait from the existing RocksDB search code and
add an OpenSearch implementation supporting cross-room search, relevance
ranking, fuzzy matching, English stemming, and optional hybrid
neural+BM25 semantic search using sentence-transformers.

Fix macOS build by gating RLIMIT_NPROC and getrusage to supported
platforms.
This commit is contained in:
2026-03-08 17:41:20 +00:00
parent 9d47ffff05
commit c9cddc80d9
15 changed files with 2328 additions and 196 deletions

View File

@@ -332,6 +332,19 @@ jobs:
{"sys_target": "x86_64-v4-linux-gnu", "feat_set": "default"},
]
opensearch-tests:
if: >
!failure() && !cancelled()
&& fromJSON(needs.init.outputs.enable_test)
&& !fromJSON(needs.init.outputs.is_release)
&& !contains(needs.init.outputs.pipeline, '[ci no test]')
name: OpenSearch
needs: [init, lint]
uses: ./.github/workflows/opensearch-tests.yml
with:
checkout: ${{needs.init.outputs.checkout}}
package:
if: >
!failure() && !cancelled()