Skip to content
This repository has been archived by the owner on Feb 15, 2019. It is now read-only.

gpupo/search

Repository files navigation

Author MIT License Build Status Scrutinizer Code Quality

Search

PHP Sphinx faceted search over Official Sphinx searchd client (PHP API) with Oriented Object results based

Simple Query Usage

<?php
use Gpupo\Search\Search;
use Gpupo\Search\Query\Keywords;
use Gpupo\Search\Query\Query;

$keywords = new Keywords;
$keywords->addKeyword('magic');
$keywords->addKeyword('unicorn');
$query = new Query($keywords);
$query->setIndex('fantasyIndex');

//Configure Sphinx Server Parameters:
SphinxService::getInstance()->setParameters(array(
	'host'    => 'foo.bar.com', //default value is localhost
));

$results = Search::getInstance()->findByQuery($query);

$results->getTotal(); // Itens found

Install

The recommended way to install is through composer.

composer require gpupo/search

Dev

Install through composer:

composer install;

Copy phpunit configuration file:

cp phpunit.xml.dist phpunit.xml;

Customize Sphinx Search Server parameters in phpunit.xml:

<php>
	<const name="SPHINX_HOST" value="localhost"/>
 	<const name="SPHINX_PORT" value="9313"/>
 	<const name="SPHINX_TIMEOUT" value="5"/>
</php>

To run localy the test suite:

$ phpunit

or see the testdox output

$ phpunit --testdox

Tests results

Gpupo\Tests\Search\FacetedSearch

  • Multi queries
  • Group by
  • Simplifica multiplas queries groupby
  • Multiquery com groupby

Gpupo\Tests\Search\Paginator\Paginator

  • Resultados possui objeto modelado para paginacao
  • Processa result collection
  • Marca a pagina atual
  • Manipula offset de query
  • Manipula limit de query
  • Divide resultados em paginas de acordo com limite
  • Acesso ao range de paginas aproximadas
  • Permite customizacao do range de paginas para navegacao
  • Acesso a valores da paginacao

Gpupo\Tests\Search\Query\Filters

  • Filtra por lista de valores de uma chave
  • Filtra por range de valores de uma chave
  • Adiciona um valor a values filters existente

Gpupo\Tests\Search\Query\Keywords

  • Processa palavras chave a partir de string
  • Sucesso com palavras chaves validas
  • Valida string de palavras chave vazias ou menor que o permitido
  • Sucesso ao pesquisar com frases

Gpupo\Tests\Search\Query\Query

  • Palavras chaves modeladas em objeto
  • Pesquisa a partir de queries modeladas
  • Queries possuem atributos modelados e controlados
  • Recebe entrada de limites de resultados
  • Recebe entrada de offset para resultados
  • Valida entrada de offset para resultados
  • Valida entrada de limites de resultados
  • Permite pesquisa em multiplos indices
  • Valida entrada para multiplos indices
  • Possui filtros modelados
  • Recebe entrada de filtros
  • Valida entrada de filtros
  • Suporte a busca facetada por um atributo
  • Suporte a busca facetada por muitos atributos
  • Evita contagem por atributos duplicada

Gpupo\Tests\Search\Result\Collection

  • Resultados com propriedades processadas

Gpupo\Tests\Search

  • Resultados contendo objetos modelados
  • Pesquisa palavra chave simples
  • Possui quantidade limite de resultados
  • Resultados possuem atributos
  • Pesquisa por multiplas palavras
  • Pesquisa por parte de palavra
  • Pesquisa com palavras fora de ordem
  • Acesso a quantidade de resultados disponiveis
  • Acesso a quantidade de resultados disponiveis por palavra
  • Acesso a resultados em objetos modelados
  • Suporte a multi queries

Gpupo\Tests\Search\Sphinx\SphinxService

  • Permite acesso aos parametros default
  • Permite definicao de parametros personalizados
  • Disponibiliza acesso ao client
  • Acesso singleton ao client com reset

Todo

  • Translate items written originally in Brazilian portuguese;
  • Finds a Sphinx Search public server for use in Travis tests (see the stackoverflow question)

Update sphinxapi PHP

See public read-only repository mirror for Sphinxsearch Repository

Current stable and tested Release: 2.1

Update command:

RELEASE='21';

lynx --dump --source https://sphinxsearch.googlecode.com/svn/branches/rel${RELEASE}/api/sphinxapi.php > src//Sphinx/sphinxapi.php

Contributors

License

MIT, see LICENSE.

Links

About

PHP Sphinx faceted search over Official Sphinx searchd client (PHP API) with Oriented Object results based [outdated]

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages