zippoxer/lazysearch

There is no license information available for the latest version (dev-master) of this package.

A PHP client for full-text search with lazysearch

dev-master 2018-03-31 15:24 UTC

This package is auto-updated.

Last update: 2024-04-04 21:50:19 UTC


README

Empower your PHP application with powerful full-text search.

Installation

composer require zippoxer/marco

Usage

Insert a document to folder people:

$client = new Marco\Client('your-api-key');

$client->people->put('1', [
    'name' => 'David',
    'age' => 35,
    'about' => 'I like pizza.'
]);

Search it:

$results = $client->people->search('pizza');

foreach($results['hits'] as $person) {
    echo $person->name;
}

Advanced search:

$results = $client->people->search('piz', [
    // Leave empty for standard query. Other options are: 'prefix', 'phrase' and 'advanced'.
    'queryType' => 'prefix',

    // Which field in the documents to search? Default is '*' (all fields).
    'field' => 'name',

    // Which fields from the documents to return? Default is '*' (all fields).
    'fields' => 'name,age,country',

    // How to sort the results? default is by _score descending (most relevant first).
    // Examples:
    // * 'age' sorts by field 'age' ascending
    // * '-age' sorts by field 'age' descending (reverse order)
    // * '-age,register_date' sorts by field 'age' descending,
    //   then by field 'register_date'
    'sort' => 'age',

    // Allow a specified number of typos in the search query. Default is 0 (no typos allowed).
    'typos' => 1,

    // Highlight matched words with HTML <mark> tags. Default is false.
    'highlight' => true,

    // Pagination.
    'page' => 2, // Default is 1.
    'hitsPerPage' => 50 // Default is 10.
]);

foreach($results['hits'] as $person) {
    echo $person->name;
}

For more details, see documentation at lazysearch.zippo.io