0

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

示例:我在长文本(大约 500 个字符)中搜索文件字符串“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 connettore) ED 100% 5 ms Serie W *内尔卡斯[..]"

lucene 已经有一个方法还是让我来编写它?我只找到了 highlightMatches()..

4

1 回答 1

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

于 2011-06-08T08:30:18.543 回答