Live data from Hacker News

Choosing vector database: a side-by-side comparison

benchmark.vectorview.ai

51–60 of 125 posts

Re: Choosing vector database: a side-by-side comparison

#51

Everyone I talk to who is building some vector db based thing sooner or later realizes they also care about the features of a full-text search engine. They care about filtering, they care to some degree about direct lexical matches, they care about paging, getting groups / facet counts, etc. Vectors, IMO, are just one feature that a regular search engine should have. IMO currently Vespa does the best job of this, tho…

Until very recently, “dense retrieval” was not even as good as bm25, and still is not always better. I think a lot of people use dense retrieval in applications where sparse retrieval is still adequate and much more flexible, because it has the hype behind it. Hybrid approaches also exist and can help balance the strengths and weaknesses of each. Vectors can also work in other tasks, but largely people seem to be usi…

A lot of these things are use-case dependent. Like the characteristics even of BM-25 varies a lot depending on whether the query is over or under specified, the nature of the query and so on.

I don't think there will ever be an answer to what is the best way of doing information retrieval for a search engine scale corpus of document that is superior for every type of queries.

Re: Choosing vector database: a side-by-side comparison

#52

Everyone I talk to who is building some vector db based thing sooner or later realizes they also care about the features of a full-text search engine. They care about filtering, they care to some degree about direct lexical matches, they care about paging, getting groups / facet counts, etc. Vectors, IMO, are just one feature that a regular search engine should have. IMO currently Vespa does the best job of this, tho…

Vespa.ai does a great job. Absolutely stunning thing!

What do you like about it relative to alternatives? How fast is it?

Re: Choosing vector database: a side-by-side comparison

#53

Strongly disagree with PGVector's DX being worse than Chroma. Installing, configuring, and working with Chroma was infuriating -- it's alpha software and has the bugs and rough edges to prove it. The tools to support and interface with postgres are battle-tested and so much nicer by comparison; getting Chroma working took over a week, ripping it out and replacing with PGVector took a couple hours. Also agree with thi…

Yeah, I had a similar experience with Chroma DB. On paper, it checked all my boxes. But yea, it's alpha software with the first non-prerelease version only coming out in July 2023 (so it's 3 months old).

I ran into some dumb issues during install like the SQLite version being incorrect, and there wasn't much guidance on how to fix these problems, so gave up after struggling for a few hours. Switched to PGVector which was much simpler to setup. I hope Chroma DB improves, but I wouldn't recommend it for now.

Re: Choosing vector database: a side-by-side comparison

#54

I've been wondering about Redis as vector database [0]. [0]: https://twitter.com/sh_reya/status/1661136833848438784

Apparently it's possible: https://redis.io/docs/interact/search-and-query/search/vecto...

Euclidean distance, inner product, and cosine similarity are supported.

Re: Choosing vector database: a side-by-side comparison

#56
post #32

Earlier quoted context omitted.

> do hybrid queries "no" - the graph objects after training are opaque AFAIK

Actually a lot of the databases offer filtering before or after similarity search.

I'd say it's table stakes today.

Re: Choosing vector database: a side-by-side comparison

#57
post #52

Earlier quoted context omitted.

Vespa.ai does a great job. Absolutely stunning thing!

What do you like about it relative to alternatives? How fast is it?

+1 for Vespa. For me it is VERY resilient and production ready. It is such a dream compared to Elasticsearch, that we migrated from.

Re: Choosing vector database: a side-by-side comparison

#58

What advantage are vector databases providing above using an index in conjunction with a mature database? I’m not sold on this as a separate technology. Vector search is useful, but I don’t understand why I would go out of my way when I could implement FAISS or HNSWlib as an adjunct to postgres or a document store.

If you're interested in an approach like this, take a look at txtai. 1. https://neuml.github.io/txtai/embeddings/indexing/ 2. https://neuml.hashnode.dev/external-database-integration

I love this idea. It seems like a very practical approach. I'm going to give this a try on my next project.

Re: Choosing vector database: a side-by-side comparison

#59
post #44

Everyone I talk to who is building some vector db based thing sooner or later realizes they also care about the features of a full-text search engine. They care about filtering, they care to some degree about direct lexical matches, they care about paging, getting groups / facet counts, etc. Vectors, IMO, are just one feature that a regular search engine should have. IMO currently Vespa does the best job of this, tho…

My company is using vector search with Elasticsearch. It’s working well so far. IMO Elastic will eat most vector-first/only products because of its strength at full-text search, plus all the other stuff it does.

Amazon was already working on getting rid of ElasticSearch with their Kendra NLP search. Are you sure ElasticSearch has rosy future?

Re: Choosing vector database: a side-by-side comparison

#60
post #14

I'd love to know how vector databases compare in their ability to do hybrid queries, vector similarity filtered by metadata values. For example, find the 100 items with the closest cosine similarity where genre = jazz and publication date between 1990 and 2000. Can the vector index operate on a subset of records? Or when searching for 100 closest matches does the database have to find 1000 matches and then apply the…

I can't speak to the others, but pgvector indices can "break" hybrid queries. For example, if you select using a where clause specifying metadata (where genre = jazz) and order by distance from a vector (embedding of sound clip); if the index doesn't have a lot (or any) vectors in the sphere of the query vector that also match the metadata it can return no results. I discuss this in a blog post here [1].

[1]: https://www.polyscale.ai/blog/pgvector-bigger-boat/

Post reply on HN