Skip to content
Snippets Groups Projects
Commit 42c7c645 authored by Thomas Bär's avatar Thomas Bär
Browse files

Nur q und so

parent 89ad769b
No related branches found
No related tags found
No related merge requests found
......@@ -10,7 +10,7 @@ from tqdm import tqdm
def clean_query(query_string):
"""
Bereinigt einen Query-String, indem bestimmte Parameter entfernt werden.
Bereinigt einen Query-String, indem nur die Parameter 'q', 'fq' und 'hl' behalten werden.
Args:
query_string (str): Der zu bereinigende Query-String.
......@@ -19,15 +19,16 @@ def clean_query(query_string):
str: Der bereinigte Query-String.
"""
params = parse_qs(query_string)
# Entferne spezifische Parameter, die für den Lasttest nicht relevant sind
for param in ["shard", "shard.url", "isShard", "NOW", "wt"]:
params.pop(param, None)
return urlencode(params, doseq=True)
cleaned_params = {}
for param in ["q", "fq", "hl"]:
if param in params:
cleaned_params[param] = params[param]
return urlencode(cleaned_params, doseq=True)
def process_file(filename):
"""
Verarbeitet eine einzelne Log-Datei und extrahiert die Solr-Abfrage-URLs.
Verarbeitet eine einzelne Log-Datei und extrahiert die bereinigten Solr-Abfrage-URLs.
Args:
filename (str): Der Pfad zur zu verarbeitenden Log-Datei.
......@@ -43,13 +44,16 @@ def process_file(filename):
if params_match:
query_string = params_match.group(1)
clean_query_string = clean_query(query_string)
urls.append(f"/select?{clean_query_string}")
if (
clean_query_string
): # Nur hinzufügen, wenn es relevante Parameter gibt
urls.append(f"/select?{clean_query_string}")
return pd.DataFrame(urls, columns=["url"])
def extract_urls_from_logs():
"""
Extrahiert URLs aus allen Solr-Log-Dateien im 'logs/' Verzeichnis und
Extrahiert bereinigte URLs aus allen Solr-Log-Dateien im 'logs/' Verzeichnis und
speichert sie in einer Parquet-Datei mit Snappy-Kompression.
Returns:
......@@ -99,4 +103,6 @@ def extract_urls_from_logs():
if __name__ == "__main__":
# Führe die Extraktion aus und gib die Gesamtanzahl der extrahierten URLs aus
total_urls = extract_urls_from_logs()
print(f"{total_urls} URLs wurden extrahiert und in das Parquet-File gespeichert.")
print(
f"{total_urls} bereinigte URLs wurden extrahiert und in das Parquet-File gespeichert."
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment