2023. 7. 30. 23:12

정말 초간단하게 검색엔진을 구축해 볼 수 있다.

몽고 DB에서 Elastic으로 가서 하는 재구축은 추후에...

 

from fastapi import FastAPI
from elasticsearch6 import Elasticsearch
# from urllib.parse import unquote

es = Elasticsearch()

app = FastAPI()

@app.get("/search/")
async def search(query: str):
    print(query)
    # query = unquote(query)
    # print(query)
    script_query = {
        "bool": {
            "should": [
                {
                    "match": {
                        "title.nori": query
                    }
                },
                {
                    "match": {
                        "synopsis.nori": query
                    }
                }
            ]
        }
    }
    search_result = es.search(index="movie", body={"query": script_query})
    results = search_result["hits"]["hits"]
    return {"results": results}

 

결과

 

Posted by 다만사