Browse Source

Merge pull request #2271 from kvch/open-semantic-search-engine

Open Semantic Search Engine
Adam Tauber 4 years ago
parent
commit
1ac755087c
2 changed files with 47 additions and 0 deletions
  1. 42 0
      searx/engines/opensemantic.py
  2. 5 0
      searx/settings.yml

+ 42 - 0
searx/engines/opensemantic.py

@@ -0,0 +1,42 @@
+"""
+Open Semantic Search
+
+ @website    https://www.opensemanticsearch.org/
+ @provide-api yes (https://www.opensemanticsearch.org/dev)
+
+ @using-api  yes
+ @results    JSON
+ @stable     yes
+ @parse      url, title, content, publishedDate
+"""
+from dateutil import parser
+from json import loads
+from urllib.parse import quote
+
+base_url = 'http://localhost:8983/solr/opensemanticsearch/'
+search_string = 'query?q={query}'
+
+
+def request(query, params):
+    search_path = search_string.format(
+        query=quote(query),
+    )
+    params['url'] = base_url + search_path
+    return params
+
+
+def response(resp):
+    results = []
+    data = loads(resp.text)
+    docs = data.get('response', {}).get('docs', [])
+
+    for current in docs:
+        item = {}
+        item['url'] = current['id']
+        item['title'] = current['title_txt_txt_en']
+        if current.get('content_txt'):
+            item['content'] = current['content_txt'][0]
+        item['publishedDate'] = parser.parse(current['file_modified_dt'])
+        results.append(item)
+
+    return results

+ 5 - 0
searx/settings.yml

@@ -540,6 +540,11 @@ engines:
     shortcut : oap
     timeout: 5.0
 
+#  - name : opensemanticsearch
+#    engine : opensemantic
+#    shortcut : oss
+#    base_url : 'http://localhost:8983/solr/opensemanticsearch/'
+
   - name : openstreetmap
     engine : openstreetmap
     shortcut : osm