Sobes.tech
Middle — Middle+

Layihədə tam mətn axtarışını həyata keçirmək üçün hansı metodlər və ya alətlər istifadə etdiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Go layihələrində tam mətn axtarışını həyata keçirmək üçün adətən aşağıdakı metodlar və alətlər istifadə olunur:

  • Daxili kitabxanalar və paketlər:

    • bleve — Go üçün məşhur tam mətn axtarış kitabxanası, indeksləşdirmə, sıralama və filtrasiya dəstəkləyir.
    • go-elasticsearch — xarici axtarış motoru istifadə olunursa, Elasticsearch ilə qarşılıqlı əlaqə üçün müştəri.
  • Xarici axtarış motorları:

    • Elasticsearch — güclü, paylanmış axtarış motoru, tez-tez REST API və ya müştəri kitabxanaları vasitəsilə Go ilə istifadə olunur.
    • Meilisearch — yüngül və sürətli axtarış motoru, sadə API ilə.
  • Bleve istifadə nümunəsi:

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: "Axtarış üçün nümunə mətn"}

    index.Index(data.ID, data)

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

    log.Println(searchResult)
}

Beləliklə, alət seçimi layihənin tələblərindən asılıdır: sadəlik və inteqrasiya (bleve) və ya miqyaslana bilənlik və funksionallıq (Elasticsearch).