CakePHP con Lucene
-
29-09-2019 - |
Pregunta
Estoy tratando de poner en práctica Lucene con cakephp y siguiendo esta guía http://jamienay.com/2010/01/zend_search_lucene-datasource-for- cakephp /
Am conseguir este error
ConnectionManager :: loadDataSource - No se puede importar la clase DataSource .ZendSearchLuceneSource
he colocado los archivos de proveedores en app / vendedores / Zend /
Añadido esto en el Bootstrap.php
ini_set('include_path', ini_get('include_path') . ':' . CAKE_CORE_INCLUDE_PATH . DS . '/vendors');
/**
* AutoLoading Zend Vendor Files
*/
function __autoload($path) {
if(substr($path, 0, 5) == 'Zend_') {
include str_replace('_', '/', $path) . '.php';
}
return $path;
}
añadido este a la base de datos de configuración
var $zendSearchLucene = array(
'datasource' => 'ZendSearchLucene',
'indexFile' => 'lucene', // stored in the cache dir.
'driver' => '',
'source' => 'search_indices'
);
Añadir creado un modelo llamado search.php
<?php
class Search extends AppModel {
var $useDbConfig = 'zendSearchLucene';
}
?>
Ahora he creado un controlador de llamada de búsqueda también como esto
<?php
class SearchController extends AppController {
var $name = 'Search';
function index(){
}
}
?>
cuando visita el sitio / am buscar conseguir ese error.
Solución
No estoy seguro si esto sigue siendo relevante para usted, pero sólo he comenzado a utilizar la misma fuente de datos y se encontró con los mismos problemas. He actualizado la fuente de datos para el pastel de 1.3 y debería funcionar ahora.
Tener un vistazo a mi tenedor del proyecto en Github:
https://github.com/deceze/zend_search_lucene_source
Si encuentra algún problema con ella, por favor, billetes abiertos para ellos. Voy a ver si puedo llegar a corregirlos. La fuente de datos es una base buena, pero puede necesitar un poco de renovación y extensión.