0

lunece を使用して、ファイル内の文字列またはコード番号を検索しています。結果のコンテンツを「制限」する方法を知りたいです。

例: 長いテキスト (約 500 文字) で文字列 'DC' を検索していました。

最初に一致した文字列の前後に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 *ネルカス[..]」

ルセンにはすでにメソッドがありますか、それとも書く必要がありますか? 私は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 に答える