-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsaregamapa_index.py
86 lines (64 loc) · 2.89 KB
/
saregamapa_index.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import saregamapa_common as sc
import saregamapa_mongo as sm
import saregamapa_parse as sp
import saregamapa_indexdata as si
import saregamapa_search as ss
import saregamapa_cluster as scc
import saregamapa_visualize as sv
class Saregamapa_Index:
parse_dict = {
"songs_collection": "songs_30000",
"artist_collection": "artists_map_30000",
"iindex_collection": "iindex_30000",
"folder_name": "\songs_complete\lyrics_collection",
"max_records": 30000
}
smeta = {
"songs_dict": {},
"artist_dict_list": [],
"documents_meta": [],
"sindexes": {},
"index_limit": 200,
"sQuery": "night",
"clusters_count": 2,
"chunk_size": 1000
}
scommon = {}
smongo = {}
collection_list = []
def parse_data(self):
if(self.parse_dict["songs_collection"] not in self.collection_list):
sp.Saregamapa_Parse(self.parse_dict, self.smongo, self.scommon, self.smeta)
self.smeta["songs_dict"] = self.scommon.generate_dict_fromlist(self.smongo.get(self.parse_dict["songs_collection"]))
self.smeta["artist_dict_list"] = self.smongo.get(self.parse_dict["artist_collection"])
def visualize_data(self):
sv.Saregamapa_Visualize(self.smeta)
def do_indexing(self):
if(self.parse_dict["iindex_collection"] not in self.collection_list):
si.Saregamapa_Indexdata(self.smeta, self.smongo, self.scommon, self.parse_dict["iindex_collection"])
self.smeta["sindexes"] = self.scommon.generate_dict_fromlist(self.smongo.get(self.parse_dict["iindex_collection"]))
def apply_search(self, query, isServer):
self.smeta["sQuery"] = query
#Do search
ssearch = ss.Saregamapa_Search(self.smeta)
if(isServer):
print(ssearch.search())
else:
return ssearch.search()
def cluster_data(self, query, clusters_count, isServer):
self.smeta["sQuery"] = query
self.smeta["clusters_count"] = clusters_count
#Do Clustering
scluster = scc.Saregamapa_Cluster(self.smeta, isServer)
return scluster.cluster()
def __init__(self):
self.scommon = sc.Saregamapa_Common("Common Utilities")
self.smongo = sm.Saregamapa_Mongo("saregamapa")
self.collection_list = self.smongo.get_db_collections()
self.parse_data()
#self.visualize_data() #uncomment to see the statistics
self.do_indexing()
#self.apply_search("love", True) #uncomment to to do the first query
#self.cluster_data("love", 2, True) #uncomment to to do the second query
#Starting point of the application
sIndex = Saregamapa_Index()