Вопрос

Я пытаюсь реализовать 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 - это хорошая основа, но может понадобиться некоторое обновление и расширение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top