X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FStorage%2FImpl.hs;h=200423ffc644f94c02860bab754323b7896f64f4;hp=c763a304f51f187b6625bcebcb6478ae6dfd0032;hb=529f792d338c75910079903e143d4dd21bd806c3;hpb=e751af5e3d23d7757f363bf4e86f9d732d90be7f diff --git a/Rakka/Storage/Impl.hs b/Rakka/Storage/Impl.hs index c763a30..200423f 100644 --- a/Rakka/Storage/Impl.hs +++ b/Rakka/Storage/Impl.hs @@ -17,6 +17,7 @@ import Data.Maybe import Data.Set (Set) import qualified Data.Set as S import Network.HTTP.Lucu +import Network.HTTP.Lucu.Utils import Network.URI import Prelude hiding (words) import Rakka.Attachment @@ -198,7 +199,7 @@ searchIndex index cond snippet <- unsafeInterleaveIO $ do doc <- getDocument index docId [NoAttributes, NoKeywords] sn <- makeSnippet doc words 300 80 80 - return (map toFragment sn) + return (trim (== Boundary) $ map toFragment sn) return SearchResult { srPageName = decodePageName $ uriPath uri , srPageRev = rev @@ -206,6 +207,7 @@ searchIndex index cond } toFragment :: Either String (String, String) -> SnippetFragment + toFragment (Left "") = Boundary toFragment (Left t) = NormalText t toFragment (Right (w, _)) = HighlightedWord w