def query(): ''' Process the POST request with the search query. ''' query = request.form["query"] songs = search.search_query(query) return jsonify(songs)
def search_query(): global output try: query = form['query'].value.decode('utf-8') output['results'] = search.search_query(query) output['status'] = 'OK' except KeyError, e: output['reason'] = 'nothing-%s' % e
class main: #vector_space = inverted_index() # *************************** INPUTTING THE QUERY *************************** k = input('Enter value of k:') #Accepting query from the user query = input('Enter your search query:') #Accepting query from the user search.search_query(query, k)
def on_click(self): self.statusBar().showMessage('Getting data...') searchboxValue = self.searchbox.currentText() #send this search query to kaushik and get back top 10 results in the form of a list or something books_result = search.search_query(searchboxValue) if not books_result: self.incorrect_query.show() for i in range(0, 6): self.titles[i].hide() for i in range(0, 10): self.serial_no[i].hide() for i in range(0, 10): self.rlabel[i].hide() for i in range(0, 10): self.author_label[i].hide() for i in range(0, 10): self.genre_label[i].hide() for i in range(0, 10): self.rating_label[i].hide() for i in range(0, 10): self.rbutton[i].hide() else: self.incorrect_query.hide() for i in range(0, 10): self.rlabel[i].setText(books_result[i].title) self.author_label[i].setText(books_result[i].author) self.genre_label[i].setText(books_result[i].genre) self.rating_label[i].setText(books_result[i].rating) for i in range(0, 6): self.titles[i].show() for i in range(0, 10): self.serial_no[i].show() for i in range(0, 10): self.rlabel[i].show() for i in range(0, 10): self.rbutton[i].show() for i in range(0, 10): self.author_label[i].show() for i in range(0, 10): self.genre_label[i].show() for i in range(0, 10): self.rating_label[i].show() self.statusBar().showMessage('Search Complete')
def unit_test(rootDir, testcase_path, out_file): '''''' (file_data, file_dirs) = get_filtered_data(rootDir) tokens_filtered = preprocess(file_data) token2files, filentoken2occ, token2occ = metrics.get_counts(tokens_filtered) filentoken2tfidf = metrics.get_tfidf(tokens_filtered, token2files, filentoken2occ) print('Loading done.') testcases = read_testcases(testcase_path, file_dirs) testcase_pos = [] testcase_pos_scored = [] all_results = [] for t in testcases: results = search_query(t[0], filentoken2tfidf, token2files, debug=True) all_results.append(results) targets_pos = [] targets_scores = [] # where are the testcase targets? for i, r in enumerate(results): for target in range(len(t) - 1): if r[1] == t[1 + target]: # use the average of all positions with the the same score start, end = range_find(list(zip(*results))[0], r[0]) targets_scores.append((end + start) / 2) targets_pos.append(i) # how many not found? not_found = len(t) - 1 - len(targets_pos) targets_scores.extend([100] * not_found) # average target scores testcase_pos_scored.append(sum(targets_scores) / len(targets_scores)) testcase_pos.append(set(targets_pos)) # if not found, partial error 100 error = sum(testcase_pos_scored) with open(out_file, 'w') as out: out.write('Total error: {} (sum of target pos)\nTestcase errors: {}\n'.format(error, ' '.join(map(str, testcase_pos_scored)))) for i, t in enumerate(testcases): out.write('\n\n\n\nTESTCASE {}\nError: {}\nQuery: {}\n{}\n'.format(i + 1, testcase_pos_scored[i], t[0], '-'*50)) for j, res in enumerate(all_results[i]): if j in testcase_pos[i]: out.write('(target) ') out.write('score: {}, path: {}, explanation: {}\n'.format(*res))
def start(query, page): click.echo("Please Wait..") results = search_query(query, page) click.echo(results) click.echo("=" * 200) click.echo("Do You Want Make a Excel File? [y/n]") a = click.getchar() click.echo() if a == "y": click.echo("Okay") folder_setup(results) elif a == "n": click.echo("Opss..") else: click.echo("Invalid Input, Please Type Yes or Not")
def search(): searchTerm = request.data.decode('utf-8') # Perform the search query # Execute the searching script results = search_query(searchTerm, filentoken2tfidf, token2files) paths = [ get_real_filepath(rootDir, realFileDir, file_dirs, results[i][1]) for i in range(len(results)) ] inds = [results[i] for i in range(len(results))] fileNames = [element[element.rfind('/') + 1:] for element in paths] print(paths) print(fileNames) return jsonify(fileNames)
def search(): query = request.args.get("search") user = request.args.get("profile") field = request.args.get("field") topic = request.args.get("topic") res, should = search_query( query, count=10, user=user, topic=topic, field=field, ) return render_template("search.html", tweets=res, query=query, should=should, count=10, user=user, topic=topic, field=field)
def index(): global global_search global global_artists global global_genre global global_music global global_lyrics if request.method == 'POST': if 'form_1' in request.form: if request.form['nm']: search = request.form['nm'] global_search = search print(global_search) else : search = global_search list_songs, artists, genres, music, lyrics = search_query(search) global_artists, global_genre, global_music, global_lyrics = artists, genres, music, lyrics elif 'form_2' in request.form: search = global_search artist_filter = [] genre_filter = [] music_filter = [] lyrics_filter = [] for i in global_artists : if request.form.get(i["key"]): artist_filter.append(i["key"]) for i in global_genre : if request.form.get(i["key"]): genre_filter.append(i["key"]) for i in global_music: if request.form.get(i["key"]): music_filter.append(i["key"]) for i in global_lyrics: if request.form.get(i["key"]): lyrics_filter.append(i["key"]) list_songs, artists, genres, music, lyrics = search_query_filtered(search, artist_filter, genre_filter, music_filter, lyrics_filter) return render_template('index.html', songs = list_songs, artists = artists, genres = genres, music = music, lyrics = lyrics) return render_template('index.html', songs = '', artists = '', genres = '', music = '', lyrics = '')
ideal_ndcg[str(key)] = sum def calculate_dcg(query, documents): count = 1 sum = 0.0 for document in documents: relevance =0 key = str(query['query number']) + "_" + str(document) if key in query_document_relevance: relevance = query_document_relevance[key] sum = sum + relevance / math.log10(count + 1) count = count + 1 return sum if __name__ == '__main__': ideal_ndcg_queries() sum = 0.0 all_queries = [query for query in read_queries() if query['query number'] != 0] for query in all_queries: documents = search_query(query) assert len(documents)==len(set(documents)), "Search results should not have duplicates:"+str(documents) if len(documents) > 0: print ("Query:{} and Results:{}".format(query, documents)) dcg = calculate_dcg(query, documents) idcg = ideal_ndcg[str(query['query number'])] ndcg = dcg / idcg print ("dcg={}, ideal={}, ndcg={}".format(dcg, idcg, ndcg)) sum = sum + ndcg print ("Final ncdg for all queries is {}".format(sum / len(all_queries)))
for document in documents: relevance = 0 key = str(query['query number']) + "_" + str(document) if key in query_document_relevance: relevance = query_document_relevance[key] sum = sum + relevance / math.log10(count + 1) count = count + 1 return sum if __name__ == '__main__': ideal_ndcg_queries() sum = 0.0 all_queries = [ query for query in read_queries() if query['query number'] != 0 ] for query in all_queries: document_objects = search_query(query, load_models()) documents = [] for each in document_objects: documents.append(each['id']) if len(documents) > 0: print("Query:{} and Results:{}".format(query, documents)) dcg = calculate_dcg(query, documents) idcg = ideal_ndcg[str(query['query number'])] ndcg = dcg / idcg print("dcg={}, ideal={}, ndcg={}".format(dcg, idcg, ndcg)) sum = sum + ndcg print("Final ncdg for all queries is {}".format(sum / len(all_queries)))
def result(): if request.method == 'POST': query = (request.get_data()).decode("utf-8") query = query[4:] search.search_query(query, 3) return render_template('results.html')