Go语言实现的全文检索引擎:bleve

jopen 10年前

bleve是一个Go语言实现的全文检索引擎,现代文本索引库。结合segogoseg就能够实现一个中文搜索引擎。

特性

  • 可以索引任何Go数据结构(包括JSON)
  • Intelligent defaults backed up by powerful configuration
  • Supported field types:
    • Text, Numeric, Date
    </li>
  • Supported query types:
    • Term, Phrase, Match, Match Phrase, Prefix
    • Conjunction, Disjunction, Boolean
    • Numeric Range, Date Range
    • Simple query syntax for human entry
    • </ul> </li>
    • tf-idf Scoring
    • Search result match highlighting
    • Supports Aggregating Facets:
      • Terms Facet
      • Numeric Range Facet
      • Date Range Facet
      • </ul> </li> </ul>

        Indexing

            message := struct{          Id:   "example",          From: "marty.schoch@gmail.com",          Body: "bleve indexing is easy",      }        mapping := bleve.NewIndexMapping()      index, _ := bleve.New("example.bleve", mapping)      index.Index(message.Id, message)

        Querying

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

        项目主页:http://www.open-open.com/lib/view/home/1410330477383