Skip to main content

FullText Search Engine Componenets

· 2 min read
forfd8960
Author

What's the Core Components in a Full Text Search Engine

Look into Bleve Modern Search Lib Code, and Found that it has the following core components:

componentfunction of the component
analysismainly contains analyzer(char filters, token filters, tokenizer)
cmdcommand line client
documentdefine Document and Related Doc Fields(Text Field, Datetime Field, etc)
geoImplement geo point and geo shape query
indexAnalyze and read, write indexed fields to under key-value store
mappingimplment DocumentMapping: How the Document should be indexed.
searchImplment search functionality

List of pkg

❯ tree . -R -L 1
.
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── analysis
├── builder.go
├── builder_test.go
├── cmd
├── config
├── config.go
├── config_app.go
├── config_disk.go
├── data
├── doc.go
├── docs
├── document
├── error.go
├── examples_test.go
├── geo
├── go.mod
├── go.sum
├── http
├── index
├── index.go
├── index_alias.go
├── index_alias_impl.go
├── index_alias_impl_test.go
├── index_impl.go
├── index_meta.go
├── index_meta_test.go
├── index_stats.go
├── index_test.go
├── mapping
├── mapping.go
├── mapping_vector.go
├── numeric
├── pre_search.go
├── query.go
├── query_bench_test.go
├── registry
├── search
├── search.go
├── search_knn.go
├── search_knn_test.go
├── search_no_knn.go
├── search_test.go
├── size
├── test
└── util