<?php
 
/**
 
 * IFile framework
 
 * 
 
 * @category   IndexingFile
 
 * @package    ifile.example
 
 * @author        Giampaolo Losito, Antonio Di Girolomo
 
 * @copyright  2011-2013 isApp.it (www.isapp.it)
 
 * @license    GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999
 
 * @version    1.2.1
 
 * 
 
 */
 
 
/**
 
 * This script is a example how to search a "Range" of term in the index with Lucene Interface
 
 * 
 
 * WARNING:
 
 * This methos is many fast to parser method
 
 */ 
 
 
error_reporting(E_ALL);
 
/** require IFileFactory */
 
require_once '../IFileFactory.php';
 
 
// Define the folder of index. 
 
// The first time, if the folder exists IFile throw an exception.
 
$index_path = 'example_ifile_index';
 
 
// try/catch
 
try {
 
    // instance IFileFactory
 
    $IFileFactory = IFileFactory::getInstance();
 
    // define lucene interface
 
    $ifile = $IFileFactory->getIFileIndexing('lucene', $index_path);
 
    
 
    // TEST Query Range    
 
    // 1. Search Range Term    
 
    // For search IFile use IFileQueryRegistry
 
    $ifileQueryRegistry = new IFileQueryRegistry();
 
    $ifileQueryRegistry->setQuery('a', 'body');
 
    $ifileQueryRegistry->setQuery('c', 'body');
 
    // define order
 
    $ifile->setSort('key', SORT_STRING, SORT_DESC);        
 
    // call Range method
 
    $result = $ifile->queryRange($ifileQueryRegistry);
 
    // print result
 
    printResult("Search Wildcard (body:intr*)", $result);
 
} catch (Exception $e) {
 
    echo "Error: ".$e->getMessage();
 
}
 
 
/**
 
 * Function of utility. Used only for this example.
 
 * Print result of search
 
 * 
 
 * @param strint $type
 
 * @param array $result_T
 
 * @return 
 
 */
 
function printResult($type, $result) {
 
 
 
    echo "Type of search: ".$type; 
 
    if(!empty($result) && is_array($result)) {
 
        echo "<br>Result Search:<br>";
 
        foreach ($result as $hit) {
 
            $doc = $hit->getDocument();
 
            echo "File: ".$doc->name." - Chiave: ".$doc->key." - Score: ".$hit->score."<br>";
 
        }
 
    }  else {
 
        echo "<br>Not result returned<br>";
 
    }
 
    
 
    echo "End print for: ($type)<br><br>";
 
}
 
?>
 
 |