Practical overview
When it fits
Use it when building search into a PHP application and you can configure SQLite vector extensions and the embedding-model dependencies.
Who it is for
- PHP developers adding search to an application.
- Teams preparing document collections for semantic or hybrid retrieval.
Documented uses
- Create embeddings and store or query document vectors using SQLite.
- Retrieve relevant documents with FTS4 keyword search and BM25 scoring.
- Prepare UTF-8 document text for vector indexing by recursively splitting it into chunks.
- Combine vector similarity and keyword retrieval in an application.
Requirements & limits
The project is available as a public repository under the MIT license.
- Vector indexing requires sqlite-vss, its vector0 and vss0.so components, and SQLite extension configuration.
- The documented setup lists libgomp1, libblas3 and liblapack3 as sqlite-vss dependencies, plus ONNX and model setup for Ropherta.
- The README describes English and multilingual model setup and notes that only one model can be used at a time.
- The documented demo includes downloadable source documents and indexes for Stack Overflow and PHP documentation; its example shows keyword search.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare document records for ingestion
Format source material as JSONL for the library's ingestion component.
Before you start
- Documents encoded as plain-text UTF-8.
- One well-formed JSON document per line.
Steps
Create one JSON object per source document.
Include the document text and, where applicable, url, title, section and license fields.
Write each JSON object on its own line in a JSONL file.
Expected outcome
A JSONL document file in the documented input format; the Ingester splits text into chunks during ingestion.
Guide limitations
- This format guidance does not cover the complete process for running ingestion or building an index.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- Textualization/php-semantic-search · Official homepage title · retained in its source language

