基于Serverless快速实现简单版查询工具的示例分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这期内容当中小编将会给大家带来有关基于Serverless快速实现简单版查询工具的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。需求背景朋友的单位,有一个小
千家信息网最后更新 2025年12月03日基于Serverless快速实现简单版查询工具的示例分析
这期内容当中小编将会给大家带来有关基于Serverless快速实现简单版查询工具的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
需求背景
朋友的单位,有一个小型的图书室,图书室中摆放了很多的书,每本书都被编号放在对应的区域,为了让大家更快,更容易找到这些书,他联系我,让我帮他弄一个图书查询系统。可以通过用户输入,模糊匹配到对应的结果,并且提供书籍对应的地点。
功能设计
让朋友把书籍整理并存储到一个Excel表格中;
将Excel表放到对象存储中,云函数读取这个文件,并且解析;
根据词语的相似寻找相似的图书;
前端页面通过MUI制作,放在对象存储中,并且使用对象存储的Website功能;
整体实现
数据形态
Excel样式主要包括书名和编号,同时下面包括分类的tab:
基于函数的搜索功能
核心代码实现:
import jiebaimport openpyxlfrom gensim import corpora, models, similaritiesfrom collections import defaultdictimport urllib.requestwith open("/tmp/book.xlsx", "wb") as f: f.write( urllib.request.urlopen("https://********").read() )top_str = "abcdefghijklmn"book_dict = {}book_list = []wb = openpyxl.load_workbook('/tmp/book.xlsx')sheets = wb.sheetnamesfor eve_sheet in sheets: print(eve_sheet) sheet = wb.get_sheet_by_name(eve_sheet) this_book_name_index = None this_book_number_index = None for eve_header in top_str: if sheet[eve_header][0].value == "书名": this_book_name_index = eve_header if sheet[eve_header][0].value == "编号": this_book_number_index = eve_header print(this_book_name_index, this_book_number_index) if this_book_name_index and this_book_number_index: this_book_list_len = len(sheet[this_book_name_index]) for i in range(1, this_book_list_len): add_key = "%s_%s_%s" % ( sheet[this_book_name_index][i].value, eve_sheet, sheet[this_book_number_index][i].value) add_value = { "category": eve_sheet, "name": sheet[this_book_name_index][i].value, "number": sheet[this_book_number_index][i].value } book_dict[add_key] = add_value book_list.append(add_key)def getBookList(book, book_list): documents = [] for eve_sentence in book_list: tempData = " ".join(jieba.cut(eve_sentence)) documents.append(tempData) texts = [[word for word in document.split()] for document in documents] frequency = defaultdict(int) for text in texts: for word in text: frequency[word] += 1 dictionary = corpora.Dictionary(texts) new_xs = dictionary.doc2bow(jieba.cut(book)) corpus = [dictionary.doc2bow(text) for text in texts] tfidf = models.TfidfModel(corpus) featurenum = len(dictionary.token2id.keys()) sim = similarities.SparseMatrixSimilarity( tfidf[corpus], num_features=featurenum )[tfidf[new_xs]] book_result_list = [(sim[i], book_list[i]) for i in range(0, len(book_list))] book_result_list.sort(key=lambda x: x[0], reverse=True) result = [] for eve in book_result_list: if eve[0] >= 0.25: result.append(eve) return resultdef main_handler(event, context): try: print(event) name = event["body"] print(name) base_html = '''{{book_name}}分类:{{book_category}}
编号:{{book_number}}''' result_str = "" for eve_book in getBookList(name, book_list): book_infor = book_dict[eve_book[1]] result_str = result_str + base_html.replace("{{book_name}}", book_infor['name']) \ .replace("{{book_category}}", book_infor['category']) \ .replace("{{book_number}}", book_infor['number'] if book_infor['number'] else "") if result_str: return result_str except Exception as e: print(e) return '''未找到图书信息,请您重新搜索。'''同时配置APIGW:
功能页面
图书检索系统 图书检索系统
可以在搜索框内输入书籍的全称,或者书籍的简称,系统支持智能检索功能。
效果展示
为了便于朋友使用,将这个页面用过Webview封装成一个APP,整体效果如下:
这个APP是一个低频使用APP,可以这样认为,如果做在一个传统服务器上,这应该不是一个明智的选择,云函数的按量付费,对象存储与APIGW的融合,完美解决了资源浪费的问题,同时借用云函数的APIGW触发器,很简单轻松的替代传统的Web框架和部分服务器软件的安装和使用、维护等。这个例子非常小,但是确是一个有趣的小工具,除了图书查询之外,还可以考虑做成成绩查询等。
上述就是小编为大家分享的基于Serverless快速实现简单版查询工具的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
图书
查询
功能
存储
分析
书籍
函数
对象
系统
检索
工具
代码
同时
朋友
页面
搜索
示例
相似
书名
传统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
长盈网络技术有限公司
配置负载均衡服务器
福建商业软件开发价格多少
数据库中怎么插入多行数据
尉氏县网络安全活动
焦作网络技术怎么样
软件开发行业怎么加班
双非院校网络安全博士点
一年级的网络安全课
软件开发费用书房
数据库的权限表有那些
福建省网络安全竟赛
scrum敏捷软件开发思想
树莓派webdav服务器验证码
网络安全结课报告
教育软件开发公司资质
电脑开机显示服务器管理器
职校学计算机网络技术好吗
魔兽世界免费转服服务器3.12
网络安全电子显示屏安全检查
百度移信网络技术
时空数据库原理与技术
2028网络安全周
数据库库存统计分析
服务器进入鼠标没反应
简单谈谈怎样提高计算机网络安全
用友邮箱服务器地址是多少
手机无数据库
图书商店数据库
完美服务器打csgo很卡