mirror of
https://github.com/searxng/searxng.git
synced 2025-07-12 15:59:21 +02:00
[mod] migrate all key-value.html templates to KeyValue type
The engines now all use KeyValue results and return the results in a EngineResults object. The sqlite engine can return MainResult results in addition to KeyValue results (based on engine's config in settings.yml), Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
af5dbdf768
commit
f49b2c94a9
13 changed files with 160 additions and 172 deletions
|
@ -43,6 +43,8 @@ authentication configured to read from ``my-index`` index.
|
|||
|
||||
from json import loads, dumps
|
||||
from searx.exceptions import SearxEngineAPIException
|
||||
from searx.result_types import EngineResults
|
||||
from searx.extended_types import SXNG_Response
|
||||
|
||||
|
||||
base_url = 'http://localhost:9200'
|
||||
|
@ -145,23 +147,20 @@ def _custom_query(query):
|
|||
return custom_query
|
||||
|
||||
|
||||
def response(resp):
|
||||
results = []
|
||||
def response(resp: SXNG_Response) -> EngineResults:
|
||||
res = EngineResults()
|
||||
|
||||
resp_json = loads(resp.text)
|
||||
if 'error' in resp_json:
|
||||
raise SearxEngineAPIException(resp_json['error'])
|
||||
|
||||
for result in resp_json['hits']['hits']:
|
||||
r = {key: str(value) if not key.startswith('_') else value for key, value in result['_source'].items()}
|
||||
r['template'] = 'key-value.html'
|
||||
raise SearxEngineAPIException(resp_json["error"])
|
||||
|
||||
for result in resp_json["hits"]["hits"]:
|
||||
kvmap = {key: str(value) if not key.startswith("_") else value for key, value in result["_source"].items()}
|
||||
if show_metadata:
|
||||
r['metadata'] = {'index': result['_index'], 'id': result['_id'], 'score': result['_score']}
|
||||
kvmap["metadata"] = {"index": result["_index"], "id": result["_id"], "score": result["_score"]}
|
||||
res.add(res.types.KeyValue(kvmap=kvmap))
|
||||
|
||||
results.append(r)
|
||||
|
||||
return results
|
||||
return res
|
||||
|
||||
|
||||
_available_query_types = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue