Download the PHP package avadim/manticore-query-builder-php without Composer
On this page you can find all versions of the php package avadim/manticore-query-builder-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download avadim/manticore-query-builder-php
More information about avadim/manticore-query-builder-php
Files in avadim/manticore-query-builder-php
Package manticore-query-builder-php
Short Description Manticore Search Query Builder for PHP (unofficial PHP client)
License MIT
Homepage https://github.com/aVadim483/manticore-query-builder-php
Informations about the package manticore-query-builder-php
English | Русский
Manticore Search Query Builder for PHP (unofficial PHP client)
Query Builder for Manticore Search in PHP with Laravel-like syntax
Features
- MySQL multiple connections via PDO (because Manticore is SQL-first)
- Placeholders as prefix in table names
- Named parameters in expressions
- Clear Laravel-like syntax
- Multiple INSERT and REPLACE
- Support MATCH() and multi-level WHERE for SELECT
- Support faceted search, JOIN of two tables and KNN vector search
- Column types are applied in both directions: PHP values on write, PHP types on read
- The helpers of the Laravel query builder: aggregates, chunked walks, conditional building, conditions on dates, upsert and the rest
- Every CALL statement of the server as a method:
callSuggest(),callQsuggest(),callKeywords(),callSnippets()andcallPq()(percolate queries) - A rejected read throws, a rejected write answers with false or zero and keeps its reason
- PSR-3 logging of queries and EXPLAIN of full-text expressions
Manticore Search server documentation: https://manual.manticoresearch.com/
Related packages
This is the standalone builder: PHP and PDO are all it needs, and the two packages below are built on it.
avadim/manticore-query-builder-laravel— the integration with Laravel and Lumen: a service provider,config/manticore.php, named connections, a facade, and reads answering with aCollectionof row objects.avadim/manticore-laravel-scout— the ManticoreSearch driver for Laravel Scout: full-text search of Eloquent models asPost::search('manticore')->get().
Requirements
- PHP 7.4 or above with the PDO extension
- Manticore Search reachable over its SQL interface (port 9306 by default). The HTTP/JSON API is not used.
What needs more than the bare server
Most of the builder talks to the server and nothing else. A few methods depend on a library loaded by the server, or on Manticore Buddy running next to it:
| Method | Needs | Without it |
|---|---|---|
| everything else | the server alone | — |
floatVector(), whereKnn() |
KNN library | the table cannot be created: knn library not loaded |
columnar(), columnEngine('columnar'), engine => 'columnar' |
Columnar library | the table cannot be created: columnar library not loaded |
rename() |
Manticore Buddy | the server answers with a syntax error |
The KNN and columnar libraries both come from the Manticore Columnar Library; the secondary-index library ships with them and speeds filtering up without changing anything in the API.
The libraries have to match the daemon: it checks their ABI version on load and refuses one
that is too new, saying so only when started with --console. Which ones did load is written
in the version string:
A library that is missing from that line is not loaded, whatever the files on disk say.
Installation
Quick start guide
Documentation
More detailed documentation is available in the /docs folder: configuration, searching, tables, result set, logging.
Документация на русском языке: /docs/ru.
Tests
The integration tests create and drop their own tables on a live server. They are skipped,
not failed, when nothing listens on MANTICORE_HOST:MANTICORE_PORT (127.0.0.1:9306
by default).
Want to support?
If you find this package useful, just give me a star on GitHub :)
All versions of manticore-query-builder-php with dependencies
ext-json Version *
ext-mbstring Version *
ext-pdo Version *
psr/log Version >=1.1