1
0
mirror of https://gitlab.com/simple-stock-bots/simple-stock-bot.git synced 2025-06-16 15:17:28 +00:00

speed and accuracy improvments to fuzzy search

This commit is contained in:
Anson 2020-04-06 00:05:49 -07:00
parent c48c53746d
commit e7c94d51c8

View File

@ -32,6 +32,12 @@ class Symbol:
self.symbol_list, self.symbol_ts = self.get_symbol_list() self.symbol_list, self.symbol_ts = self.get_symbol_list()
symbols = self.symbol_list symbols = self.symbol_list
symbols["Match"] = symbols.apply(
lambda x: fuzz.ratio(search.lower(), f"{x['Symbol']}".lower()), axis=1,
)
symbols.sort_values(by="Match", ascending=False, inplace=True)
if symbols["Match"].head().sum():
symbols["Match"] = symbols.apply( symbols["Match"] = symbols.apply(
lambda x: fuzz.partial_ratio( lambda x: fuzz.partial_ratio(
search.lower(), f"{x['Symbol']} {x['Issue_Name']}".lower() search.lower(), f"{x['Symbol']} {x['Issue_Name']}".lower()
@ -39,6 +45,7 @@ class Symbol:
axis=1, axis=1,
) )
symbols.sort_values(by="Match", ascending=False, inplace=True) symbols.sort_values(by="Match", ascending=False, inplace=True)
print(symbols.head())
return list(zip(list(symbols["Symbol"]), list(symbols["Description"]))) return list(zip(list(symbols["Symbol"]), list(symbols["Description"])))
def find_symbols(self, text: str): def find_symbols(self, text: str):