from lxml.html.clean import clean_html, Cleaner import environ env=environ.Env( SOLR_HOST=(str,"http://localhost:8980"), TARGET=(str,"https://alpha.2020.fet.at") ) import pysolr from .convert import post_to_solr, member_to_solr from urllib.parse import urljoin from fet2020api import fet2020postapi, fet2020memberapi import yaml from .solr_to_objects import result_to_object fet=fet2020postapi(urljoin(env('TARGET'),"api/posts/")) fetmember=fet2020memberapi(urljoin(env('TARGET'),"api/members/")) class SolrFet2020(): def __init__(self): self.solr=pysolr.Solr( urljoin(env('SOLR_HOST'),'/solr/core'), always_commit=True ) def reindex(self): self.solr.delete(q='*:*') p=post_to_solr(fet.find({"slug":""})) self.solr.add(p) m=member_to_solr(fetmember.find({"nickname":""})) # search all members self.solr.add(m) #print(m) def reindextest(self): m=fetmember.find({"nickname":""}) print(m) def search(self,query): querystring="text_txt:*%s* title_txt:*%s*^2 tags_tkn:*%s*^2" % (query,query,query) r=self.solr.search(querystring,sort="score desc, date_dt desc",**{ 'hl':'true', 'hl.fragsize': 100, 'hl.fl': '*', 'hl.maxAnalyzedChars': -1, 'hl.snippets': 100, }) links = result_to_object(r) #print(yaml.dump(r)) return links, r.hits