Sobes.tech
Middle — Middle+

Milliseid meetodeid või tööriistu kasutasite kogu teksti otsingu rakendamiseks projektis?

sobes.tech AI

Vastus AI-lt

Täistekstilise otsingu rakendamiseks Go projektides kasutatakse tavaliselt järgmisi meetodeid ja tööriistu:

  • Sisseehitatud teegid ja paketid:

    • bleve — populaarne teek täisteksti otsinguks Go-s, toetab indekseerimist, otsingut reitinguga ja filtritena.
    • go-elasticsearch — klient Elasticsearch-iga suhtlemiseks, kui kasutatakse välise otsingumootorit.
  • Välised otsingumootorid:

    • Elasticsearch — võimas jaotatud otsingumootor, mida sageli kasutatakse Go-ga REST API või klientteekide kaudu.
    • Meilisearch — kerge ja kiire otsingumootor lihtsa API-ga.
  • Bleve kasutamise näide:

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: "Näidistekst otsimiseks"}

    index.Index(data.ID, data)

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

    log.Println(searchResult)
}

Seega, tööriista valik sõltub projekti nõuetest: lihtsus ja integreeritus (bleve) või skaleeritavus ja funktsionaalsus (Elasticsearch).