Zend_search_lucene限制结果“长度”

时间:2011-05-07 12:56:24

标签: php lucene zend-search-lucene

我正在使用lunece在某个文件中查找字符串或代码。 我想知道如何“限制”结果内容。

实施例: 我正在用长文本(大约500个字符)搜索le string'DC'。

我希望在第一个匹配的字符串之前有20个字符和20个字符。

喜欢那样: “[...] altri inox 0 50 C aria filtrata senza lubrificazione * 1,5 mm 24V DC 10%(altre a richiesta)2W Classe F IP 54(IP 65 con connettore)ED 100%5 ms Serie W * Nel cas [...]“

lucene已经有方法还是我要写它? 我只找到了highlightMatches()..

1 个答案:

答案 0 :(得分:0)

我不相信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有点“原始”。我专注于字符串处理。