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).