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