Learn practical skills, build real-world projects, and advance your career
Updated 5 years ago
import ujson, requests, pickle
from pathlib import Path
MODEL_DIR = "../models"
vectorizer = None #Variable in global name space
model = None #Variable in global name space
Utils
import urllib3
#Suppress InsecureRequestWarning
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
DEFAULT_SEARCH_SERVICE_URI = 'https://api.access.redhat.com/rs/search'
ROWS = 50
ENABLE_SIGNALS = 'false'
ENABLE_ELEVATION = 'false' #Disable elevation as we want to evaluate against the natural search results
headers = {'Accept': 'application/vnd.redhat.solr+json'}
def update_params(query: str):
params = {
'q': query, 'wt': 'json', 'start': 0, 'rows': 1,
'enableSignals': ENABLE_SIGNALS, 'enableElevation': ENABLE_ELEVATION,
'fl': 'view_uri, allTitle'
}
return params
def execute_search(query: str):
params = update_params(query)
response = requests.get(url=DEFAULT_SEARCH_SERVICE_URI, params=params,
headers=headers, verify=False)
if (response.status_code != 200):
print(response.text)
return dict()
#print(response.text)
data = ujson.loads(response.text)
docs = data.get('response', {}).get('docs', [])
if len(docs) > 0:
url = docs[0]['view_uri']
title = docs[0]['allTitle']
return (url, title)
return ("", "")