CakePhp с Lucene.
-
29-09-2019 - |
Вопрос
Я пытаюсь реализовать Lucene с CakePhp и следуя этому руководствуhttp://jamienay.com/2010/01/zend_search_lucene-datasource-for-cakephp/
Получаю эту ошибку
ConnectionManager :: LoaddataSource - Невозможно импортировать класс DataSource .zendsearchlucenesource
Я поместил файлы поставщиков в приложении / поставщикам / Zend /
Добавил это в 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;
}
добавил это в конфигурацию базы данных
var $zendSearchLucene = array(
'datasource' => 'ZendSearchLucene',
'indexFile' => 'lucene', // stored in the cache dir.
'driver' => '',
'source' => 'search_indices'
);
Добавить созданную модель под названием Search.php
<?php
class Search extends AppModel {
var $useDbConfig = 'zendSearchLucene';
}
?>
Прямо сейчас я создал контроллер под названием поиск тоже
<?php
class SearchController extends AppController {
var $name = 'Search';
function index(){
}
}
?>
Когда я посещаю сайт / поиск, я получаю эту ошибку.
Решение
Не уверен, если это все еще имеет отношение к вам, но я только начал использовать те же источники данных и наступил на те же проблемы. Я обновил DataSource для торта 1.3, и он должен работать сейчас.
Посмотрите на мою вилку проекта в Github:
https://github.com/deceze/zend_search_lucene_source.
Если вы обнаружите какие-либо проблемы с этим, пожалуйста открытые билеты для них. Я посмотрю, смогу ли я обойтись, чтобы исправить их. DataSource - это хорошая основа, но может понадобиться некоторое обновление и расширение.