Sobes.tech
Middle — Middle+

Жобада толук тексттик издөө жүргүзүү үчүн кайсы ыкмалар же инструменттерди колдондуңуз?

sobes.tech AI

AIден жооп

Go долбоорлорунда толук текст издөөң ишке ашыруу үчүн адатта төмөнкү ыкмалар жана инструменттер колдонулат:

  • Ички китепканалар жана пакеттери:

    • bleve — Go үчүн популярдуу толук текст издөө китепканасы, индекстеүү, рейтинг менен издөө жана фильтрлөө колдойт.
    • go-elasticsearch — тышкы издөө кыймылдаткычы колдонулса, Elasticsearch менен өз ара аракеттенүү үчүн кардар.
  • Тышкы издөө кыймылдаткычтары:

    • Elasticsearch — күчтүү, бөлүштүрүлгөн издөө кыймылдаткычы, көбүнчө REST API же кардар китепканалары аркылуу Go менен колдонулат.
    • Meilisearch — жеңил жана тез издөө кыймылдаткычы, жөнөкөй API менен.
  • Bleve колдонуу мисалы:

import (
    "github.com/blevesearch/bleve"
    "log"
)

func main() {
    indexMapping := bleve.NewIndexMapping()
    index, err := bleve.New("example.bleve", indexMapping)
    if err != nil {
        log.Fatal(err)
    }

    data := struct {
        ID   string
        Body string
    }{ID: "1", Body: "Издөө үчүн мисал текст"}

    index.Index(data.ID, data)

    query := bleve.NewMatchQuery("издөө")
    searchRequest := bleve.NewSearchRequest(query)
    searchResult, err := index.Search(searchRequest)
    if err != nil {
        log.Fatal(err)
    }

    log.Println(searchResult)
}

Ошентип, инструмент тандоо долбоордун талаптарына көз каранды: жөнөкөй жана интеграцияланган (bleve) же масштабдуу жана функционалдуу (Elasticsearch).