+ | SearchIndex !Condition !(TMVar SearchResult)
+
+
+data SearchResult
+ = SearchResult {
+ srTotal :: !Int
+ , srPages :: ![HitPage]
+ }
+ deriving (Show, Eq)
+
+
+data HitPage
+ = HitPage {
+ hpPageName :: !PageName
+ , hpPageRev :: RevNum
+ , hpLastMod :: UTCTime
+ , hpSummary :: Maybe String
+ , hpSnippet :: [SnippetFragment]
+ }
+ deriving (Show, Eq)
+
+
+data SnippetFragment
+ = Boundary
+ | NormalText !String
+ | HighlightedWord !String
+ deriving (Show, Eq)
\ No newline at end of file