Implement Druid DB fetching

This commit is contained in:
2022-09-30 07:22:22 +01:00
parent 202a13cccb
commit bb00475029
5 changed files with 234 additions and 90 deletions

View File

@@ -1,18 +1,12 @@
import logging
import random
import string
import time
from datetime import datetime
from math import floor, log10
from pprint import pprint
import orjson
import requests
from django.conf import settings
from core import r
from core.db import StorageBackend
from core.db.processing import annotate_results, filter_blacklisted, parse_results
from core.db.processing import annotate_results, parse_results
from core.views import helpers
logger = logging.getLogger(__name__)
@@ -120,7 +114,7 @@ class ManticoreBackend(StorageBackend):
# Create the search query
if "query" in query_params:
query = query_params["query"]
search_query = construct_query(query, size, index)
search_query = self.construct_query(query, size, index)
query_created = True
else:
if custom_query:
@@ -129,7 +123,7 @@ class ManticoreBackend(StorageBackend):
if tags:
# Get a blank search query
if not query_created:
search_query = construct_query(None, size, index, blank=True)
search_query = self.construct_query(None, size, index, blank=True)
query_created = True
for tagname, tagvalue in tags.items():
add_bool.append({tagname: tagvalue})
@@ -171,9 +165,7 @@ class ManticoreBackend(StorageBackend):
for source_iter in sources:
add_top_tmp["bool"]["should"].append({"equals": {"src": source_iter}})
total_count += 1
total_sources = len(settings.MAIN_SOURCES) + len(
settings.SOURCES_RESTRICTED
)
total_sources = len(settings.MAIN_SOURCES) + len(settings.SOURCES_RESTRICTED)
if not total_count == total_sources:
add_top.append(add_top_tmp)
@@ -269,8 +261,8 @@ class ManticoreBackend(StorageBackend):
search_query["sort"] = sort
pprint(search_query)
results = run_query(
client,
results = self.run_query(
self.client,
request.user, # passed through run_main_query to filter_blacklisted
search_query,
)