Я хотел бы добавить слой люцены в мою модель базы данных.Все работает отлично, и я использую несколько ключевых слов, помимо основного контента, который заполнен некоторыми данными HTML.
например,
$doc = Zend_Search_Lucene_Document_Html::loadHTML($html);
$doc->addField(Zend_Search_Lucene_Field::keyword('author_id', 1));
У меня есть таблица 1: N с некоторыми данными, которые я хотел быиспользовать также для фильтрации результатов поиска.Давайте предположим, что документ представляет собой статью, которая может быть опубликована в разных категориях.Теперь у меня есть массив идентификаторов категорий, которые я как-то хочу добавить в этот документ.Мой первый подход состоял в том, чтобы просто взорвать массив и сохранить его в виде строки:
$doc->addField(Zend_Search_Lucene_Field::keyword('categories', '12, 15, 22'));
Но поиск оказался немного сложным (поиск категории 1 также дал 12 и 15).Затем я создал несколько «магических» строк, таких как CAT_12_A вместо 12, чтобы сделать их уникальными:
$doc->addField(Zend_Search_Lucene_Field::keyword('categories', 'CAT_12_A, CAT_15_A, CAT_22_A'));
Это работает довольно хорошо, но я не совсем доволен этим решением, потому что это, очевидно, хак.Есть ли шанс добавить многозначное «ключевое слово» в документ Zend Lucene без такого странного взлома?
Спасибо за помощь.