The post asks if there is a way to do a hybrid retriever/BM25 retriever without storing and loading from the filesystem (docstore/objectstore). The comments suggest that it is possible to manually write the BM25 algorithm to generate sparse vectors and store them in a vector store, but the problem is that if any text is added or removed, the entire index needs to be recalculated. One community member mentions switching to the newer and faster BM25s library to allow saving the retriever to disk. Another community member notes that the BM25s library is very small and should be faster than SPLADE, but there is not much information on benchmarking. The community members also discuss the need for some minor tweaks to properly support BM25 in llama-index, such as setting the IDF parameter in the config. Overall, there does not appear to be an explicitly marked answer to the original question.
In any case though, seems like some minor tweaks are needed to support it properly in llama-index (need to set that IDF param in the config for example)