bleve README

The project's README from github.com/blevesearch/bleve. As one markdown file: README.md.

bleve bleve

Tests Coverage Status Go Reference Join the chat Go Report Card Sourcegraph License

A modern indexing + search library in GO

Features

Indexing

message := struct {
    Id   string
    From string
    Body string
}{
    Id:   "example",
    From: "[email protected]",
    Body: "bleve indexing is easy",
}

mapping := bleve.NewIndexMapping()
index, err := bleve.New("example.bleve", mapping)
if err != nil {
    panic(err)
}
index.Index(message.Id, message)

Querying

index, _ := bleve.Open("example.bleve")
query := bleve.NewQueryStringQuery("bleve")
searchRequest := bleve.NewSearchRequest(query)
searchResult, _ := index.Search(searchRequest)

Command Line Interface

To install the CLI for the latest release of bleve, run:

go install github.com/blevesearch/bleve/v2/cmd/bleve@latest
$ bleve --help
Bleve is a command-line tool to interact with a bleve index.

Usage:
  bleve [command]

Available Commands:
  bulk        bulk loads from newline delimited JSON files
  check       checks the contents of the index
  count       counts the number documents in the index
  create      creates a new index
  dictionary  prints the term dictionary for the specified field in the index
  dump        dumps the contents of the index
  fields      lists the fields in this index
  help        Help about any command
  index       adds the files to the index
  mapping     prints the mapping used for this index
  query       queries the index
  registry    registry lists the bleve components compiled into this executable
  scorch      command-line tool to interact with a scorch index

Flags:
  -h, --help   help for bleve

Use "bleve [command] --help" for more information about a command.

Text Analysis

Bleve includes general-purpose analyzers (customizable) as well as pre-built text analyzers for the following languages:

Arabic (ar), Bulgarian (bg), Catalan (ca), Chinese-Japanese-Korean (cjk), Kurdish (ckb), Danish (da), German (de), Greek (el), English (en), Spanish - Castilian (es), Basque (eu), Persian (fa), Finnish (fi), French (fr), Gaelic (ga), Spanish - Galician (gl), Hindi (hi), Croatian (hr), Hungarian (hu), Armenian (hy), Indonesian (id, in), Italian (it), Dutch (nl), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Swedish (sv), Turkish (tr)

Text Analysis Wizard

bleveanalysis.couchbase.com

Discussion/Issues

Discuss usage/development of bleve and/or report issues here:

License

Apache License Version 2.0

bleve (blevesearch/bleve)

Searching Database…

11.2K ·GitHub
Что это такое?Bleve — современная библиотека для полнотекстового, числового, геопространственного и векторного индексирования и поиска, написанная на Go и вдохновлённая Apache Lucene.
Это библиотека или отдельный поисковый сервер?Это библиотека на Go, которую встраивают прямо в приложение, хотя в комплекте есть и CLI-утилита для базовых операций с индексами.
Как добавить это в проект?Импортируйте пакет bleve в свой код на Go, чтобы создавать индексы и выполнять по ним запросы; отдельный CLI-исполняемый файл можно установить из последнего релиза.
Нужно ли что-то кроме Go, чтобы это использовать?Внешняя база данных или сервер не нужны: bleve хранит индексы прямо на диске, используя собственный движок хранения (scorch), так что достаточно окружения Go.
Можно ли комбинировать поиск по ключевым словам и векторный поиск?Да, поддерживается гибридный поиск, сочетающий точные (по ключевым словам) и семантические (векторные) совпадения, со слиянием результатов по RRF или RSF.
Какие типы полей и запросов поддерживает bleve?Поддерживаются поля типов: текст, число, дата и время, логическое значение, geopoint, geoshape, IP и вектор; типы запросов включают term, phrase, match, fuzzy, range, wildcard, составные логические запросы и синтаксис query string.
Может ли bleve выполнять геопространственный поиск и поиск ближайших соседей?Да, поддерживается геопространственный поиск и приблизительный поиск k ближайших соседей через векторный поиск, а также поиск по синонимам и иерархический вложенный поиск.
Какие языки поддерживаются для анализа текста?В bleve есть встроенные анализаторы примерно для 30 языков, включая английский, китайский, японский и корейский, арабский, русский, немецкий, французский, хинди и другие, а также настраиваемые универсальные анализаторы.
Поддерживает ли bleve ранжирование и подсветку?Да, есть модели оценки релевантности tf-idf и BM25, повышение веса (boosting) во время запроса, постраничный вывод результатов и подсветка совпадений с фрагментами документов.
Size
18.1 MB
Stars
11.2K
Age
12y
Commits · 90 Days