appendix B Supported search engines and vector databases
We use the open source Apache Solr search engine as our default search engine throughout the book for consistency, but all of the algorithms in the codebase are designed to work with a wide variety of search engines and vector databases. To that end, other than cases where engine-specific syntax is required to demonstrate a point, we have implemented search functionality using a generic engine
interface that allows you to easily swap in your preferred search engine or vector database. In this appendix, we’ll cover the list of supported engines, how to swap out the default engine, and how the major abstractions (engine
and collection
) are used throughout the book.
The list of supported engines will continue to grow over time, but at the time of publication, the following engines are initially supported:
To see the full, most up-to-date list of all supported engines, please visit https://aipoweredsearch.com/supported-engines.
B.2 Swapping out the engine
Normally, you’ll only be working with one search engine or vector database at a time when running the book’s code examples. To use any particular engine, you just need to specify the engine’s name (as enumerated above) when starting up Docker.
You would launch OpenSearch, for example, like this:
docker compose up opensearch