Zend_search_lucene ограничить результат "длина" - PullRequest
0 голосов
/ 07 мая 2011

Я использую lunece, чтобы найти в каком-либо файле строку или кодовый номер.Я хотел бы знать, как я могу "ограничить" содержание результатов.

Пример: я искал строку 'DC' в длинном тексте (около 500 символов).

Я бы хотелхотел бы иметь 20 символов до и 20 после первой подходящей строки ..

Примерно так: "[..] altri inox 0 50 C aria filtrata senza lubrificazione * 1,5 мм 24V DC 10% (altre a richiesta) 2 Вт Classe F IP 54 (IP 65 con connettore) ED 100% 5 мс Серия W * Nel cas [..] "

Имеет ли Люценуже метод или я должен написать это?Я нашел только highlightMatches () ..

1 Ответ

0 голосов
/ 08 июня 2011

Я не верю, что у lucene есть функциональность, которая его поддерживает.Однако вы можете сделать это с php при отображении результатов.

$search = "DC";

$results = //whatever you get back from the search index

foreach($results as $result) {
    $before = substr(stristr($result, $search, TRUE), -20);
    $after  = substr(stristr($result, $search), 20);

    $text = $before . $search . $after;
}

Примечание: foreach немного «сырой».Я сосредоточился на обработке строк.

...