A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/manticoresoftware/manticoresearch-php below:

manticoresoftware/manticoresearch-php: Official PHP client for Manticore Search

Official PHP client for Manticore Search.

❗ WARNING: this is a development version of the client. The latest release's readme is https://github.com/manticoresoftware/manticoresearch-php/tree/4.0.1

Requires PHP 7.1 or greater with the native JSON extension. Default transport handler uses the cURL extension.

Minimum Manticore Search version is 2.5.1 with HTTP protocol enabled.

Manticore Search manticoresearch-php PHP >= 7.0.0 4.0.x >= 7.4, >=8.0 >= 6.3.6 3.2.x >= 7.4, >=8.0 >= 6.2.0 3.1.x >= 7.4, >=8.0 >= 6.2.0 3.0.x >= 7.4, >=8.0 >= 6.0.4 3.0.x >= 7.1, >=8.0 >= 4.2.1 2.0.x, 2.1.x, 2.2.x >= 7.1, >=8.0 >= 4.0.2 1.7.x, 1.8.x >= 7.1, >=8.0 >= 3.5.2 1.6.x >= 7.1, >=8.0 >= 3.5.0 1.5.x >= 7.1, <8.0 >= 3.5.0 1.4 >= 7.1, <8.0 <= 3.4.x 1.3 >= 7.1, <8.0 >= 2.5.1, <3.4.0 1.2 >= 7.1, <8.0

Full documentation is available in docs folder.

Manticore Search server documentation: https://manual.manticoresearch.com/.

Install the Manticore Search PHP client using composer package manager:

composer require manticoresoftware/manticoresearch-php:dev-master
require_once __DIR__ . '/vendor/autoload.php';

$config = ['host'=>'127.0.0.1','port'=>9308];
$client = new \Manticoresearch\Client($config);
$table = $client->table('movies');
$table->create([
    'title'=>['type'=>'text'],
    'plot'=>['type'=>'text'],
    '_year'=>['type'=>'integer'],
    'rating'=>['type'=>'float']
    ]);
$table->addDocument([
        'title' => 'Star Trek: Nemesis',
        'plot' => 'The Enterprise is diverted to the Romulan homeworld Romulus, supposedly because they want to negotiate a peace treaty. Captain Picard and his crew discover a serious threat to the Federation once Praetor Shinzon plans to attack Earth.',
        '_year' => 2002,
        'rating' => 6.4
        ],
    1);
Add several documents at once:
$table->addDocuments([
        ['id'=>2,'title'=>'Interstellar','plot'=>'A team of explorers travel through a wormhole in space in an attempt to ensure humanity\'s survival.','_year'=>2014,'rating'=>8.5],
        ['id'=>3,'title'=>'Inception','plot'=>'A thief who steals corporate secrets through the use of dream-sharing technology is given the inverse task of planting an idea into the mind of a C.E.O.','_year'=>2010,'rating'=>8.8],
        ['id'=>4,'title'=>'1917 ','plot'=>' As a regiment assembles to wage war deep in enemy territory, two soldiers are assigned to race against time and deliver a message that will stop 1,600 men from walking straight into a deadly trap.','_year'=>2018,'rating'=>8.4],
        ['id'=>5,'title'=>'Alien','plot'=>' After a space merchant vessel receives an unknown transmission as a distress call, one of the team\'s member is attacked by a mysterious life form and they soon realize that its life cycle has merely begun.','_year'=>1979,'rating'=>8.4]
    ]); 
$results = $table->search('space team')->get();

foreach($results as $doc) {
   echo 'Document:'.$doc->getId()."\n";
   foreach($doc->getData() as $field=>$value)
   {   
        echo $field.": ".$value."\n";
   }
}

Result:

Document:2
year: 2014
rating: 8.5
title: Interstellar
plot: A team of explorers travel through a wormhole in space in an attempt to ensure humanity's survival.

A text search with attribute filters:

$results = $table->search('space team')
                 ->filter('_year','gte',2000)
                 ->filter('rating','gte',8.0)
                 ->sort('_year','desc')
                 ->get();

foreach($results as $doc) {
    echo 'Document:'.$doc->getId()."\n";
    foreach($doc->getData() as $field=>$value)
    {   
        echo $field.": ".$value."\n";
    }
}

By document id:

$table->updateDocument(['_year'=>2019],4);

By query:

$table->updateDocument(['_year'=>2019],['match'=>['*'=>'team']]);

The above will fail if the table does not exist. To get around this pass a parameter of true, which cause the failure to be silent.

Manticore Search PHP Client is an open-source software licensed under the MIT license


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4