upgrade scraping and searching
This commit is contained in:
@@ -1,34 +1,51 @@
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from fastapi import Request
|
||||
#from elasticsearch import Elasticsearch
|
||||
|
||||
# from elasticsearch import Elasticsearch
|
||||
import sys
|
||||
import elastic_transport
|
||||
from searching import es_search, es_query
|
||||
import json
|
||||
import yaml
|
||||
|
||||
app = FastAPI(debug=True)
|
||||
|
||||
templates = Jinja2Templates(directory="./httpdemo")
|
||||
#app.mount("/", StaticFiles(directory="/"))
|
||||
# app.mount("/", StaticFiles(directory="/"))
|
||||
|
||||
|
||||
@app.get("/")
|
||||
def serve_home(request: Request, q: str=""):
|
||||
def serve_home(request: Request, q: str = ""):
|
||||
try:
|
||||
resp = es_search(q)
|
||||
query=es_query(q)
|
||||
message = "found ...?"
|
||||
except (elastic_transport.ConnectionError, elastic_transport.ConnectionTimeout) as e:
|
||||
print(e,sys.stderr)
|
||||
results=[]
|
||||
resp={}
|
||||
query={}
|
||||
query = es_query(q)
|
||||
message = f"found ...? %d" % len(resp["hits"]["hits"])
|
||||
except (
|
||||
elastic_transport.ConnectionError,
|
||||
elastic_transport.ConnectionTimeout,
|
||||
) as e:
|
||||
print(e, sys.stderr)
|
||||
results = []
|
||||
resp = {}
|
||||
query = {}
|
||||
message = f"cannot reach the search server! : %s" % e
|
||||
else:
|
||||
results=resp["hits"]["hits"]
|
||||
results = resp["hits"]["hits"]
|
||||
|
||||
templates.env.filters["json"]=lambda x: yaml.dump(dict(x))
|
||||
return templates.TemplateResponse("index.html", context= {
|
||||
"request": resp,"results": results,"message": message, "query": query})
|
||||
templates.env.filters["json"] = lambda x: yaml.dump(dict(x))
|
||||
return templates.TemplateResponse(
|
||||
"index.html",
|
||||
context={
|
||||
"request": resp,
|
||||
"results": results,
|
||||
"message": message,
|
||||
"query": query,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@app.get("test")
|
||||
def test(request: Request):
|
||||
return {"test": "test"}
|
||||
|
||||
@@ -9,8 +9,12 @@
|
||||
{% for r in results %}
|
||||
<li>
|
||||
<a href="https://{{r['_source']['url']}}">
|
||||
|
||||
{{r["_source"]["title"]|safe }}
|
||||
</a>
|
||||
{{r["_score"]|safe }}
|
||||
{{r["sort"]|safe }}
|
||||
<br /><br />
|
||||
{% for hh in r["highlight"] %}
|
||||
{% for h in r["highlight"][hh] %}
|
||||
{{ h |safe}} <br />
|
||||
|
||||
Reference in New Issue
Block a user