Sobes.tech
Middle — Middle+

Kokiais metodais ar įrankiais įgyvendinote pilno teksto paiešką projekte?

sobes.tech AI

Atsakymas iš AI

Norint įgyvendinti pilno teksto paiešką Go projektuose, dažniausiai naudojami šie metodai ir įrankiai:

  • Įmontuotos bibliotekos ir paketai:

    • bleve — populiari biblioteka pilno teksto paieškai Go, palaiko indeksavimą, paiešką su reitingavimu ir filtravimu.
    • go-elasticsearch — klientas, skirtas sąveikai su Elasticsearch, jei naudojamas išorinis paieškos variklis.
  • Išoriniai paieškos varikliai:

    • Elasticsearch — galingas paskirstytas paieškos variklis, dažnai naudojamas su Go per REST API arba klientų bibliotekas.
    • Meilisearch — lengvas ir greitas paieškos variklis su paprastu API.
  • Bleve naudojimo pavyzdys:

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: "Pavyzdinis tekstas paieškai"}

    index.Index(data.ID, data)

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

    log.Println(searchResult)
}

Taigi, įrankio pasirinkimas priklauso nuo projekto reikalavimų: paprastumas ir integracija (bleve) arba mastelio keitimas ir funkcionalumas (Elasticsearch).