Practical overview
When it fits
Use it when you want a self-hosted, Docker-based starting point for semantic search over documents and can configure Docker, Elasticsearch, and a pretrained BERT model.
Who it is for
- Developers building a semantic search prototype over their own text records.
- Teams exploring job search over indexed titles and descriptions.
Documented uses
- Create an Elasticsearch index with text and dense-vector fields.
- Convert CSV document text into BERT vectors and index the resulting records.
- Search the indexed documents through the browser interface.
Requirements & limits
The repository is public and licensed under MIT. The documented setup runs locally with Docker Compose and exposes a browser interface at 127.0.0.1:5000.
- Requires Docker and Docker Compose 1.22.0 or later.
- A pretrained BERT model must be downloaded and configured.
- The Elasticsearch dense-vector dimensions must match the selected model.
- The README recommends more than 8 GB of Docker memory where possible.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up Bertsearch and index CSV documents
Prepare the documented Docker-based search system and make CSV records available in its Elasticsearch index.
Before you start
- Docker
- Docker Compose 1.22.0 or later
- A pretrained BERT model
- CSV records with document text and optional title fields
Steps
Download and unzip one of the pretrained BERT models listed in the README.
Set PATH_MODEL to the model directory and INDEX_NAME to the Elasticsearch index name.
Start the containers with docker-compose up; the README recommends assigning Docker more than 8 GB of memory where possible.
Create the index with the example script, ensuring the text_vector dimensions match the selected BERT model.
Use the document-creation and indexing scripts to convert the CSV records into vectorized documents and add them to the index.
Expected outcome
The records are indexed in Elasticsearch with BERT-generated vectors; the README identifies http://127.0.0.1:5000 as the browser interface.
Guide limitations
- The vector field dimensions must match the selected pretrained model.
- The README cautions that the BERT container needs high memory and recommends more than 8 GB for Docker where possible.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- Hironsan/bertsearch · Official homepage title · retained in its source language

