OpenViSTAI · Agents · Blockchain · Crypto
Menu
RAG & Knowledge Systems

Php Semantic Search

Php Semantic Search is a PHP library that provides semantic and keyword search implementations, document chunking for vector indexing, and retrieval methods backed by Ropherta embeddings, SQLite3 Vector Search, SQLite3 FTS4 and BM25.

Independent OpenViST project profile, based on linked sources.

Php Semantic Search — OpenViST project profile in RAG & Knowledge Systems.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Create one JSON object per source document.

  2. Include the document text and, where applicable, url, title, section and license fields.

  3. 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.
Evidence and transparency

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