format solrfet
This commit is contained in:
@@ -1,50 +1,58 @@
|
||||
from lxml.html.clean import clean_html, Cleaner
|
||||
import environ
|
||||
import settings
|
||||
|
||||
env=environ.Env(
|
||||
SOLR_HOST=(str,"http://localhost:8980"),
|
||||
TARGET=(str,"https://alpha.2020.fet.at")
|
||||
)
|
||||
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
|
||||
from fet2020api import fet2020memberapi, fet2020api
|
||||
import yaml
|
||||
from .solr_to_objects import result_to_object
|
||||
|
||||
fet=fet2020postapi(urljoin(env('TARGET'),"api/posts/"))
|
||||
fetmember=fet2020memberapi(urljoin(env('TARGET'),"api/members/"))
|
||||
fet = fet2020api(urljoin(env("TARGET"), "api/posts/"), pk="slug")
|
||||
fetmember = fet2020memberapi(urljoin(env("TARGET"), "api/members/"))
|
||||
|
||||
|
||||
class SolrFet2020():
|
||||
class SolrFet2020:
|
||||
def __init__(self):
|
||||
self.solr=pysolr.Solr(
|
||||
urljoin(env('SOLR_HOST'),'/solr/core'),
|
||||
always_commit=True
|
||||
)
|
||||
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.delete(q="*:*")
|
||||
p = post_to_solr(fet.find({"slug": ""}))
|
||||
self.solr.add(p)
|
||||
m=member_to_solr(fetmember.find({"nickname":""})) # search all members
|
||||
m = member_to_solr(fetmember.find({"nickname": ""})) # search all members
|
||||
self.solr.add(m)
|
||||
|
||||
def reindextest(self):
|
||||
m=fetmember.find({"nickname":""})
|
||||
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)
|
||||
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, })
|
||||
r = self.solr.search(
|
||||
querystring,
|
||||
sort="score desc, date_dt desc",
|
||||
**{
|
||||
"hl": "true",
|
||||
"hl.fragsize": 100,
|
||||
"hl.fl": "*",
|
||||
"hl.maxAnalyzedChars": -1,
|
||||
"hl.snippets": 10,
|
||||
}
|
||||
)
|
||||
|
||||
links = result_to_object(r)
|
||||
#print(yaml.dump(r))
|
||||
return links, r.hits
|
||||
# print(yaml.dump(r))
|
||||
return links, r.hits
|
||||
|
||||
Reference in New Issue
Block a user