# Storing multiple vectors per doc for hybrid search

**URL:** <https://forum.weaviate.io/t/storing-multiple-vectors-per-doc-for-hybrid-search/519>\
**Category:** Support\
**Created:** [August 10, 2023, 10:17am UTC](https://forum.weaviate.io/t/storing-multiple-vectors-per-doc-for-hybrid-search/519 "2023-08-10T10:17:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pommedeterresautee](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/pommedeterresautee/32/360_2.png) [@pommedeterresautee](https://forum.weaviate.io/u/pommedeterresautee)\
**Post date:** [August 10, 2023, 10:17am UTC](https://forum.weaviate.io/t/storing-multiple-vectors-per-doc-for-hybrid-search/519/1 "2023-08-10T10:17:06Z")

</div>

Hi,

In my database (few millions of legal docs) we have short documents (single paragraph) and very long ones (equivalent of 10 pages). Each of them have titles (descriptive of its content)

I want to setup hybrid search with weaviate. For embeddings i need to split long docs in short ones, and append the title to each of them.

For BM25 I want to keep all documents intacts for 2 reasons : first, very purpose of bm25 (vs tf idf) is to take length into account of relevancy statistics.  
Also repeating title (which we usually put in a dedicated field) many times for some documents and not for other will modify token statistics and we expect it to make the search less relevant (we plan a real xp with some measures, for now it s just an expectation).

Question is : is there a way to have several vectors for each document and perform a hybrid search? Or are we force to have 2 different indexes and do 2 search and perform some reconciliation after the retrieval step?

---

<div class="post-metadata">

**Author:** ![r4y\_Y](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/r4y_y/32/463_2.png) [@r4y\_Y](https://forum.weaviate.io/u/r4y_Y)\
**Post date:** [September 15, 2023, 5:16am UTC](https://forum.weaviate.io/t/storing-multiple-vectors-per-doc-for-hybrid-search/519/2 "2023-09-15T05:16:38Z")

</div>

my understanding is that BM25 doesnt work with vectors at all… but not sure how its implemented in Weaviate. BM25 imo is similar to a keyword search (SELECT \* from text WHERE …)

---

<div class="post-metadata">

**Author:** ![pommedeterresautee](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/pommedeterresautee/32/360_2.png) [@pommedeterresautee](https://forum.weaviate.io/u/pommedeterresautee)\
**Post date:** [September 15, 2023, 9:32am UTC](https://forum.weaviate.io/t/storing-multiple-vectors-per-doc-for-hybrid-search/519/3 "2023-09-15T09:32:51Z")

</div>

There is a working hybrid search feature, with support of 2 fusions strategies. Still it only works with 1 doc == 1 vector and do not match more complex situations. We are testing Vespa which supports it FWIW…
