From 548828575d5456bccea7c6d84f8aefb13bd78a84 Mon Sep 17 00:00:00 2001 From: wes Date: Sat, 6 May 2017 19:16:16 -0400 Subject: [PATCH] update to work with new database --- src/mapping.py | 2 ++ src/mcmaster/classes.csv | 0 src/search.py | 45 +++++----------------------------------- 3 files changed, 7 insertions(+), 40 deletions(-) create mode 100644 src/mcmaster/classes.csv diff --git a/src/mapping.py b/src/mapping.py index 4c9743c..8181e50 100644 --- a/src/mapping.py +++ b/src/mapping.py @@ -1,3 +1,5 @@ +#! /usr/bin/python2 + from elasticsearch_dsl import DocType, Date, Nested, Boolean, \ analyzer, InnerObjectWrapper, Completion, Keyword, Text, Object diff --git a/src/mcmaster/classes.csv b/src/mcmaster/classes.csv new file mode 100644 index 0000000..e69de29 diff --git a/src/search.py b/src/search.py index 033aa50..eaaa059 100755 --- a/src/search.py +++ b/src/search.py @@ -22,41 +22,6 @@ def summarize(text): return " ".join(splitted[0:6]) + ".." return text -def hashsec(course): - """ - Hash a course into a usable id - """ - if not course["code"]: - code = "" - else: - code = course["code"] - if not course["title"]: - title = "" - else: - title = course["title"] - - if not course["sections"] or len(course["sections"]) < 1: - course["sections"][0] = "" - - if not (code or title): - raise UnIndexable(course) - - h = sha1() - h.update(code + title + course["sections"][0]["sem"]) - return int(h.hexdigest(), 16) - -def termSearch(field): - """ - Make a term search (exact match) - """ - def t(term): - q = Q("term", - **{ - "sections."+field : term - }) - return q - return t - def search(field): """ Make a match search @@ -107,7 +72,7 @@ def search_courses(terms): # So that means it cares about each query equally q = reduce(and_, qs) - s = (Search(using=es, index="oersearch") + s = (Search(using=es, index="course_test") .query(q))[0:100] # only return up to 100 results for now results = s.execute() @@ -123,12 +88,12 @@ def search_courses(terms): secs["title"] = obj.title if obj["dept"] not in secs["title"]: secs["dept"] = obj.dept - if obj.books: + if "books" in obj: secs["books"] = [ { - "booktitle" : book[0], - "bookauthor" : book[1], - "bookprice" : book[2] + "booktitle" : book["title"], + "bookauthor" : book["author"], + "bookprice" : book["price"] } for book in obj.books ]