on master help sign in
Merge pull request #2271 from kvch/open-semantic-search-engine

Open Semantic Search Engine

commit1ac755087cd4a15e4749c130807528eeae7b4f35 authorAdam Tauber <asciimoo@gmail.com> dateSun 25 Oct 2020, 17:55 (6 years ago) parentaa3c18d8e15d3e
2 files changed+47
searx/engines/opensemantic.py+42 searx/settings.yml+5
searx/engines/opensemantic.pynew file+42
@@ -0,0 +1,42 @@
1+"""
2+Open Semantic Search
3+
4+ @website https://www.opensemanticsearch.org/
5+ @provide-api yes (https://www.opensemanticsearch.org/dev)
6+
7+ @using-api yes
8+ @results JSON
9+ @stable yes
10+ @parse url, title, content, publishedDate
11+"""
12+from dateutil import parser
13+from json import loads
14+from urllib.parse import quote
15+
16+base_url = 'http://localhost:8983/solr/opensemanticsearch/'
17+search_string = 'query?q={query}'
18+
19+
20+def request(query, params):
21+ search_path = search_string.format(
22+ query=quote(query),
23+ )
24+ params['url'] = base_url + search_path
25+ return params
26+
27+
28+def response(resp):
29+ results = []
30+ data = loads(resp.text)
31+ docs = data.get('response', {}).get('docs', [])
32+
33+ for current in docs:
34+ item = {}
35+ item['url'] = current['id']
36+ item['title'] = current['title_txt_txt_en']
37+ if current.get('content_txt'):
38+ item['content'] = current['content_txt'][0]
39+ item['publishedDate'] = parser.parse(current['file_modified_dt'])
40+ results.append(item)
41+
42+ return results
searx/settings.yml+5
@@ -540,6 +540,11 @@ engines:
540540 shortcut : oap
541541 timeout: 5.0
542542
543+# - name : opensemanticsearch
544+# engine : opensemantic
545+# shortcut : oss
546+# base_url : 'http://localhost:8983/solr/opensemanticsearch/'
547+
543548 - name : openstreetmap
544549 engine : openstreetmap
545550 shortcut : osm