Package Structure

bleve is organized into a large number of packages.

bleve

The top-level bleve package is designed to provide an easy to use wrapper around all of the lower-level packages.

Analysis

The analysis package contains all of the code related to analyzed text. Generally this package is independent of everything else. Should not depend on the index or search packages.

Analyzers

The analyzers package contain pre-built analyzers to for general purpose usage.

ByteArrayConverters

The byte array converters package contains utilities for interpreting byte arrays in common ways.

CharFilters

The char filters package contains implementations of the CharFilter interface.

DateTime Parsers

The date time parsers package contains implementation of the DateTimeParser interface.

Language

The language package contains sub-packages for language specific analysis.

Token Filters

The token filters package contains implementation of the TokenFilter interface.

Token Maps

The token maps package supports maintaining word or token lists.

Tokenizers

The tokenizers package contains implementations of the Tokenizer interface.

Document

The document package contains the code related to bleve documents and fields. Documents contain fields. This is the unit of indexing within bleve.

Index

The index package contains all of the code related to putting bits on disk in such a way to facilitate searching later.

Store

The store package defines an general KV store interface. This interface allows index implementations to plug in alternative KV stores easily.

upside_down

The upside_down package is the inverted index implementation. It can use any Store implementation. This has all of the details around how individual rows are encoded.

HTTP

An optional set of HTTP handler which expose bleve functionality over HTTP/JSON.

Registry

The registry package provides a convenient mechanism for applications to refer to search components through string names. This also facilitates serializing index mappings and persisting them along with the index.

Search

The search package contains all of the code to implement search functionality. Depends on the interfaces exposed by the Index package, but should not depend on any of its implementation details.

Collectors

The collectors package is responsible for collecting the desirable results out of all the results. Typically the top N by some criteria.

Facets

The facets package is responsible for building facet information from result sets.

Highlight

The highlight package is responsible for producing highlighted matching text in search results.

Scorers

The scorers package is responsible for scoring search result hits. These results may be final or intermediate results.

Searchers

The searchers package contain the actual searcher implementations.

Utils

This package contains all of the command-line utilities.