Go語言實現的全文檢索引擎:bleve

jopen 10年前發布 | 27K 次閱讀 搜索引擎 Bleve

bleve是一個Go語言實現的全文檢索引擎,現代文本索引庫。結合segogoseg就能夠實現一個中文搜索引擎。

特性

  • 可以索引任何Go數據結構(包括JSON)
  • Intelligent defaults backed up by powerful configuration
  • Supported field types:

    • Text, Numeric, Date
    • </ul> </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)</pre></code> <h2><a class="anchor" href="/misc/goto?guid=4959614702688808805" name="user-content-querying"></a>Querying</h2>
          

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

          項目主頁:http://www.baiduhome.net/lib/view/home/1410330477383

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!