full-text-search 0.2.1.3 → 0.2.1.4
raw patch · 5 files changed
+23/−18 lines, 5 filesdep ~Cabaldep ~containersdep ~vectornew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: Cabal, containers, vector
API changes (from Hackage documentation)
- Data.SearchEngine: documentFeatureValue :: SearchConfig doc key field feature -> doc -> feature -> Float
- Data.SearchEngine: documentKey :: SearchConfig doc key field feature -> doc -> key
- Data.SearchEngine: extractDocumentTerms :: SearchConfig doc key field feature -> doc -> field -> [Term]
- Data.SearchEngine: nonTermScores :: Explanation field feature term -> [(feature, Float)]
- Data.SearchEngine: overallScore :: Explanation field feature term -> Float
- Data.SearchEngine: paramAutosuggestPostfilterLimit :: SearchRankParameters field feature -> !Int
- Data.SearchEngine: paramAutosuggestPrefilterLimit :: SearchRankParameters field feature -> !Int
- Data.SearchEngine: paramB :: SearchRankParameters field feature -> field -> Float
- Data.SearchEngine: paramFeatureFunctions :: SearchRankParameters field feature -> feature -> FeatureFunction
- Data.SearchEngine: paramFeatureWeights :: SearchRankParameters field feature -> feature -> Float
- Data.SearchEngine: paramFieldWeights :: SearchRankParameters field feature -> field -> Float
- Data.SearchEngine: paramK1 :: SearchRankParameters field feature -> !Float
- Data.SearchEngine: paramResultsetHardLimit :: SearchRankParameters field feature -> !Int
- Data.SearchEngine: paramResultsetSoftLimit :: SearchRankParameters field feature -> !Int
- Data.SearchEngine: termFieldScores :: Explanation field feature term -> [(term, [(field, Float)])]
- Data.SearchEngine: termScores :: Explanation field feature term -> [(term, Float)]
- Data.SearchEngine: transformQueryTerm :: SearchConfig doc key field feature -> Term -> field -> Term
- Data.SearchEngine.BM25F: avgFieldLength :: Context term field feature -> field -> Float
- Data.SearchEngine.BM25F: docFeatureValue :: Doc term field feature -> feature -> Float
- Data.SearchEngine.BM25F: docFieldLength :: Doc term field feature -> field -> Int
- Data.SearchEngine.BM25F: docFieldTermFrequency :: Doc term field feature -> field -> term -> Int
- Data.SearchEngine.BM25F: featureFunction :: Context term field feature -> feature -> FeatureFunction
- Data.SearchEngine.BM25F: featureWeight :: Context term field feature -> feature -> Float
- Data.SearchEngine.BM25F: fieldWeight :: Context term field feature -> field -> Float
- Data.SearchEngine.BM25F: instance (Show field, Show feature, Show term) => Show (Explanation field feature term)
- Data.SearchEngine.BM25F: instance Functor (Explanation field feature)
- Data.SearchEngine.BM25F: nonTermScores :: Explanation field feature term -> [(feature, Float)]
- Data.SearchEngine.BM25F: numDocsTotal :: Context term field feature -> !Int
- Data.SearchEngine.BM25F: numDocsWithTerm :: Context term field feature -> term -> Int
- Data.SearchEngine.BM25F: overallScore :: Explanation field feature term -> Float
- Data.SearchEngine.BM25F: paramB :: Context term field feature -> field -> Float
- Data.SearchEngine.BM25F: paramK1 :: Context term field feature -> !Float
- Data.SearchEngine.BM25F: termFieldScores :: Explanation field feature term -> [(term, [(field, Float)])]
- Data.SearchEngine.BM25F: termScores :: Explanation field feature term -> [(term, Float)]
+ Data.SearchEngine: [documentFeatureValue] :: SearchConfig doc key field feature -> doc -> feature -> Float
+ Data.SearchEngine: [documentKey] :: SearchConfig doc key field feature -> doc -> key
+ Data.SearchEngine: [extractDocumentTerms] :: SearchConfig doc key field feature -> doc -> field -> [Term]
+ Data.SearchEngine: [nonTermScores] :: Explanation field feature term -> [(feature, Float)]
+ Data.SearchEngine: [overallScore] :: Explanation field feature term -> Float
+ Data.SearchEngine: [paramAutosuggestPostfilterLimit] :: SearchRankParameters field feature -> !Int
+ Data.SearchEngine: [paramAutosuggestPrefilterLimit] :: SearchRankParameters field feature -> !Int
+ Data.SearchEngine: [paramB] :: SearchRankParameters field feature -> field -> Float
+ Data.SearchEngine: [paramFeatureFunctions] :: SearchRankParameters field feature -> feature -> FeatureFunction
+ Data.SearchEngine: [paramFeatureWeights] :: SearchRankParameters field feature -> feature -> Float
+ Data.SearchEngine: [paramFieldWeights] :: SearchRankParameters field feature -> field -> Float
+ Data.SearchEngine: [paramK1] :: SearchRankParameters field feature -> !Float
+ Data.SearchEngine: [paramResultsetHardLimit] :: SearchRankParameters field feature -> !Int
+ Data.SearchEngine: [paramResultsetSoftLimit] :: SearchRankParameters field feature -> !Int
+ Data.SearchEngine: [termFieldScores] :: Explanation field feature term -> [(term, [(field, Float)])]
+ Data.SearchEngine: [termScores] :: Explanation field feature term -> [(term, Float)]
+ Data.SearchEngine: [transformQueryTerm] :: SearchConfig doc key field feature -> Term -> field -> Term
+ Data.SearchEngine.BM25F: [avgFieldLength] :: Context term field feature -> field -> Float
+ Data.SearchEngine.BM25F: [docFeatureValue] :: Doc term field feature -> feature -> Float
+ Data.SearchEngine.BM25F: [docFieldLength] :: Doc term field feature -> field -> Int
+ Data.SearchEngine.BM25F: [docFieldTermFrequency] :: Doc term field feature -> field -> term -> Int
+ Data.SearchEngine.BM25F: [featureFunction] :: Context term field feature -> feature -> FeatureFunction
+ Data.SearchEngine.BM25F: [featureWeight] :: Context term field feature -> feature -> Float
+ Data.SearchEngine.BM25F: [fieldWeight] :: Context term field feature -> field -> Float
+ Data.SearchEngine.BM25F: [nonTermScores] :: Explanation field feature term -> [(feature, Float)]
+ Data.SearchEngine.BM25F: [numDocsTotal] :: Context term field feature -> !Int
+ Data.SearchEngine.BM25F: [numDocsWithTerm] :: Context term field feature -> term -> Int
+ Data.SearchEngine.BM25F: [overallScore] :: Explanation field feature term -> Float
+ Data.SearchEngine.BM25F: [paramB] :: Context term field feature -> field -> Float
+ Data.SearchEngine.BM25F: [paramK1] :: Context term field feature -> !Float
+ Data.SearchEngine.BM25F: [termFieldScores] :: Explanation field feature term -> [(term, [(field, Float)])]
+ Data.SearchEngine.BM25F: [termScores] :: Explanation field feature term -> [(term, Float)]
+ Data.SearchEngine.BM25F: instance (GHC.Show.Show field, GHC.Show.Show feature, GHC.Show.Show term) => GHC.Show.Show (Data.SearchEngine.BM25F.Explanation field feature term)
+ Data.SearchEngine.BM25F: instance GHC.Base.Functor (Data.SearchEngine.BM25F.Explanation field feature)
- Data.SearchEngine.BM25F: scoreTermsBulk :: (Ix field, Bounded field) => Context term field feature -> Doc term field feature -> (term -> (field -> Int) -> Float)
+ Data.SearchEngine.BM25F: scoreTermsBulk :: forall field term feature. (Ix field, Bounded field) => Context term field feature -> Doc term field feature -> (term -> (field -> Int) -> Float)
Files
- Data/SearchEngine/DocIdSet.hs +2/−1
- Data/SearchEngine/TermBag.hs +5/−4
- changelog +3/−0
- demo/ExtractNameTerms.hs +2/−1
- full-text-search.cabal +11/−12
Data/SearchEngine/DocIdSet.hs view
@@ -159,6 +159,7 @@ basicLength (MV_DocId v) = GMVec.basicLength v basicUnsafeSlice i l (MV_DocId v) = MV_DocId (GMVec.basicUnsafeSlice i l v) basicUnsafeNew l = MV_DocId `liftM` GMVec.basicUnsafeNew l+ basicInitialize (MV_DocId v) = GMVec.basicInitialize v basicUnsafeReplicate l x = MV_DocId `liftM` GMVec.basicUnsafeReplicate l (unDocId x) basicUnsafeRead (MV_DocId v) i = DocId `liftM` GMVec.basicUnsafeRead v i basicUnsafeWrite (MV_DocId v) i x = GMVec.basicUnsafeWrite v i (unDocId x)@@ -172,6 +173,7 @@ {-# INLINE basicUnsafeSlice #-} {-# INLINE basicOverlaps #-} {-# INLINE basicUnsafeNew #-}+ {-# INLINE basicInitialize #-} {-# INLINE basicUnsafeReplicate #-} {-# INLINE basicUnsafeRead #-} {-# INLINE basicUnsafeWrite #-}@@ -199,4 +201,3 @@ {-# INLINE basicUnsafeIndexM #-} {-# INLINE basicUnsafeCopy #-} {-# INLINE elemseq #-}-
Data/SearchEngine/TermBag.hs view
@@ -101,7 +101,7 @@ -- not make it easy to trim arrays. -- denseTable :: [TermBag] -> (Vec.Vector TermId, Vec.Vector TermCount)-denseTable termbags = +denseTable termbags = (tids, tcts) where -- First merge the TermIds into one array@@ -218,8 +218,9 @@ instance GMVec.MVector MVec.MVector TermId where basicLength (MV_TermId v) = GMVec.basicLength v basicUnsafeSlice i l (MV_TermId v) = MV_TermId (GMVec.basicUnsafeSlice i l v)- basicUnsafeNew l = MV_TermId `liftM` GMVec.basicUnsafeNew l- basicUnsafeReplicate l x = MV_TermId `liftM` GMVec.basicUnsafeReplicate l (unTermId x)+ basicUnsafeNew l = MV_TermId `liftM` GMVec.basicUnsafeNew l+ basicInitialize (MV_TermId v) = GMVec.basicInitialize v+ basicUnsafeReplicate l x = MV_TermId `liftM` GMVec.basicUnsafeReplicate l (unTermId x) basicUnsafeRead (MV_TermId v) i = TermId `liftM` GMVec.basicUnsafeRead v i basicUnsafeWrite (MV_TermId v) i x = GMVec.basicUnsafeWrite v i (unTermId x) basicClear (MV_TermId v) = GMVec.basicClear v@@ -232,6 +233,7 @@ {-# INLINE basicUnsafeSlice #-} {-# INLINE basicOverlaps #-} {-# INLINE basicUnsafeNew #-}+ {-# INLINE basicInitialize #-} {-# INLINE basicUnsafeReplicate #-} {-# INLINE basicUnsafeRead #-} {-# INLINE basicUnsafeWrite #-}@@ -259,4 +261,3 @@ {-# INLINE basicUnsafeIndexM #-} {-# INLINE basicUnsafeCopy #-} {-# INLINE elemseq #-}-
changelog view
@@ -1,3 +1,6 @@+0.2.1.4 Mikolaj Konarski <mikolaj@well-typed.com> August 2017+ * Compatibility with GHC 8.0.2 and new package versions (no API changes)+ 0.2.1.3 Duncan Coutts <duncan@well-typed.com> May 2015 * Compatibility with GHC 7.10 (no API changes)
demo/ExtractNameTerms.hs view
@@ -13,6 +13,7 @@ import Data.Maybe (maybeToList) import Data.Functor.Identity+import Control.Applicative import Control.Monad import Control.Monad.List import Control.Monad.Writer@@ -57,7 +58,7 @@ get >>= emit newtype Split a = Split (StateT String (ListT (WriterT [String] Identity)) a)- deriving (Monad, MonadPlus, MonadState String)+ deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadState String) emit :: String -> Split () emit x = Split (lift (lift (tell [x])))
full-text-search.cabal view
@@ -1,5 +1,5 @@ name: full-text-search-version: 0.2.1.3+version: 0.2.1.4 synopsis: In-memory full text search engine description: An in-memory full text search engine library. It lets you run full-text queries on a collection of your documents.@@ -40,7 +40,7 @@ the library is used in the <http://hackage.haskell.org/package/hackage-server hackage-server> where it provides the backend for the package search feature.-+bug-reports: https://github.com/well-typed/full-text-search/issues license: BSD3 license-file: LICENSE author: Duncan Coutts@@ -53,8 +53,8 @@ extra-source-files: changelog source-repository head- type: darcs- location: http://code.haskell.org/full-text-search/+ type: git+ location: git@github.com:well-typed/full-text-search.git flag build-search-demo default: False@@ -77,9 +77,9 @@ RecordWildCards, GeneralizedNewtypeDeriving, ScopedTypeVariables- build-depends: base >=4.5 && <4.9,+ build-depends: base >=4.5 && <5.9, array >=0.4 && <0.6,- vector >=0.10 && <0.11,+ vector >=0.11 && <0.13, containers >=0.4 && <0.6, text >=0.11 && <1.3 default-language: Haskell2010@@ -103,11 +103,11 @@ else build-depends: full-text-search, base, text, containers, array,- tokenize == 0.1.*,+ tokenize >= 0.1, snowball == 1.0.*, transformers,- split == 0.2.*,- Cabal >= 1.14 && < 1.20,+ split >= 0.2,+ Cabal >= 1.14 && < 3, bytestring, filepath, directory, tar, time, mtl build-tools: alex, happy default-language: Haskell2010@@ -124,12 +124,11 @@ containers, text, QuickCheck ==2.*,- tasty ==0.8.*,- tasty-quickcheck ==0.8.*+ tasty >=0.8,+ tasty-quickcheck >=0.8 other-modules: Test.Data.SearchEngine.TermBag, Test.Data.SearchEngine.DocIdSet, Data.SearchEngine.DocTermIds, Data.SearchEngine.DocIdSet default-language: Haskell2010 ghc-options: -Wall-