cabal-version: 3.0 name: full-text-search version: 0.2.2.3 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. Features: * Keyword queries and auto-complete\/auto-suggest queries. * Can search over any type of \"document\". (You explain how to extract search terms from them.) * Supports documents with multiple fields (e.g. title, body) * Supports documents with non-term features (e.g. quality score, page rank) * Uses the state of the art BM25F ranking function * Adjustable ranking parameters (including field weights and non-term feature scores) * In-memory but quite compact. It does not keep a copy of your original documents. * Quick incremental index updates, making it possible to keep your text search in-sync with your data. It is independent of the document type, so you have to write the document-specific parts: extracting search terms and any stop words, case-normalisation or stemming. This is quite easy using libraries such as and . The source package includes a demo to illustrate how to use the library. The demo is a simplified version of how the library is used in the where it provides the backend for the package search feature. bug-reports: https://github.com/well-typed/full-text-search/issues license: BSD-3-Clause license-file: LICENSE author: Duncan Coutts maintainer: Duncan Coutts , Adam Gundry copyright: 2013-2014 Duncan Coutts, 2014 Well-Typed LLP, 2014-2023 IRIS Connect Ltd. category: Data, Text, Search build-type: Simple extra-doc-files: changelog tested-with: GHC ==9.2.8 || ==9.4.8 || ==9.6.6 || ==9.8.2 || ==9.10.1 || ==9.12.1 source-repository head type: git location: git@github.com:well-typed/full-text-search.git flag build-search-demo default: False description: Build a little program illustrating the use of the library manual: True common base-deps build-depends: base >=4.16 && <4.22, array >=0.4 && <0.6, vector >=0.11 && <0.14, containers >=0.4 && <0.8, text >=0.11 && <2.2 library import: base-deps exposed-modules: Data.SearchEngine, Data.SearchEngine.BM25F other-modules: Data.SearchEngine.Types, Data.SearchEngine.Update, Data.SearchEngine.Query, Data.SearchEngine.Autosuggest, Data.SearchEngine.SearchIndex, Data.SearchEngine.DocFeatVals, Data.SearchEngine.TermBag, Data.SearchEngine.DocTermIds, Data.SearchEngine.DocIdSet hs-source-dirs: src other-extensions: BangPatterns, NamedFieldPuns, RecordWildCards, GeneralizedNewtypeDeriving, ScopedTypeVariables default-language: Haskell2010 ghc-options: -Wall -funbox-strict-fields executable search-demo main-is: Main.hs other-modules: PackageSearch ExtractNameTerms ExtractDescriptionTerms PackageIndexUtils -- support code for package descriptions: HaddockHtml HaddockLex HaddockParse HaddockTypes hs-source-dirs: demo if !flag(build-search-demo) buildable: False else build-depends: full-text-search, base, text, containers, array, tokenize >= 0.1 && <0.4, snowball >= 1.0 && <1.1, transformers >= 0.5 && <0.6, split >= 0.2 && <0.3, Cabal >= 1.14 && <3.15, bytestring >= 0.12 && <0.13, filepath >= 1.5 && <1.6, directory >= 1.3 && <1.5, tar >= 0.6 && <0.7, time >= 1.14 && <1.15, mtl >= 2.2 && <2.4 build-tool-depends: alex:alex, happy:happy default-language: Haskell2010 other-extensions: GeneralizedNewtypeDeriving ghc-options: -Wall test-suite qc-props import: base-deps type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: src, tests build-depends: QuickCheck ==2.*, tasty >=0.8, tasty-quickcheck >=0.8 other-modules: Test.Data.SearchEngine.TermBag, Test.Data.SearchEngine.DocIdSet, Data.SearchEngine.DocTermIds, Data.SearchEngine.DocIdSet, Data.SearchEngine.TermBag default-language: Haskell2010 ghc-options: -Wall