yindia / api-search

πŸ”Ž gRPC layer over the Meilisearch search engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

api-search

Lines Of Code

A proof-of-concept search service, powered by Meilisearch and meilisearch-go.

Project structure

Directory Description
./cmd CLI for making gRPC requests
./idl Protobufs (Interface Definition Language)
./internal/app App dependency injection / initialization
./internal/idl Auto-generated protobufs
./internal/service Service layer / Business logic

Getting started

docker-compose up -d
go run main.go

Usage

Check out the full API.

Generating fake documents

Generate a fake CSV file of drivers with

go run cmd/search/*.go generate --size 1000

You can view its contents with:

xsv sort --select last_name,first_name fake-drivers.csv | xsv table | bat --file-name fake-drivers.csv

Ingestion

Index the CSV records into Meilisearch with:

go run cmd/search/*.go ingest drivers --file fake-drivers.csv

Querying

Perform a search query with:

go run cmd/search/*.go query --query Nichole

Response would look like:

{
  "hits": [
    {
      "driver": {
        "id": "c9q7k6vrirfhbdec6e00",
        "firstName": "Nichole",
        "lastName": "Bailey",
        "email": "Nichole.Bailey@gLGtalk.biz",
        "phone": "108-674-1932"
      }
    }
  ]
}

About

πŸ”Ž gRPC layer over the Meilisearch search engine


Languages

Language:Go 99.4%Language:Makefile 0.6%