Haystack is a client for the popular hosted search solution IndexTank. It is implemented as a CodeIgniter 2.0+ library
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
1.0.0
README.md

README.md

#Basic Haystack Usage

##Load the Haystack library

<?php

	$this->load->library('Haystack');
	
?>

##Create a new IndexTank search index

<?php

	$this->haystack->create_index('cars');
	
?>

##Set the index to work with for the next one or more IndexTank API calls

<?php
	
	$this->haystack->set_index('cars');
?>

##Add a single document to the currently selected index

<?php

	$docid = 1;
	$fields = array(
		'text' => 'The Chevrolet Impala is a full-size automobile built by the Chevrolet division of General Motors introduced for the 1958 model year.',
	);
	
	$this->haystack->add_document($docid, $fields);
	
?>

##Add multiple documents to the currently selected index

<?php

	$docs = array(
		array(
			'docid' => 1,
			'fields' => array(
				'text' => 'The Chevrolet Impala is a full-size automobile built by the Chevrolet division of General Motors introduced for the 1958 model year.'
			)
		),
		array(
			'docid' => 2,
			'fields' => array(
				'text' => 'The Ford GT is a mid-engine two-seater sports car. Ford Motor Company produced the Ford GT for the 2005 to 2006 model years. The designers drew inspiration from Ford\'s GT40 race cars of the 1960s.'
			)
		)
	);
	
	$this->haystack->add_documents($docs);
	
?>

##Delete a single document from the currently selected index

<?php

	$this->haystack->delete_document($docid = 1);
	
?>

##Delete multiple documents from the currently selected index

<?php

	$docids = array(1, 2, 3, 10);
	$this->haystack->delete_documents($docids);
	
?>

##Select a different search index to work with and add a new document

<?php

	$this->haystack->set_index('trucks');
	$docid = 12;
	$fields = array(
		'text' => 'Bigfoot, introduced in 1979, is regarded as the original monster truck. Other trucks with the name "Bigfoot" have been introduced in the years since, and it remains the most well-known monster truck moniker in the United States.'
	);
	
	$this->haystack->add_document($docid, $fields);
	
?>

##Delete an entire search index and all of its documents

<?php

	$this->haystack->delete_index('vans');
	
?>

##Search in the currently selected index

<?php

	$terms = "monster truck";
	$results = $this->haystack->search($terms);

	if($results->matches == 0)
	{
		// No results found
	}
	else
	{
		// Results found. Loop through them and print the id.
		foreach($results->results as $doc)
		{
			echo "Found document {$doc->docid}<br />";
		}
	}
	
?>