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