【发布时间】:2023-03-12 23:45:01
【问题描述】:
我正在尝试使用 Python 创建一个字母数组,这些字母构建到单词的全名中,最终将用于我正在构建的 Web 应用程序中的关键字搜索。
本质上,Cloud Firestore 中的读取和写入可能会变得很昂贵,我的理解是,如果您使用异步搜索功能,使用字母数组会显着减少人们需要使用的读取次数。
我想遍历我的原始文本文件,提取两列(uuid 和公司名称),然后为公司名称构建关键字搜索词。我需要 uuid,以便在获得完整数组后更新 Firebase Firestore 记录。
因此,公司“WetPaint”的搜索词数组变为:
W
We
Wet
WetP
WetPa
WetPai
WetPain
WetPaint
这是我目前所得到的:
keywords = ""
arrName = []
with open ('org_test.csv') as csv_file:
csv_reader=csv.DictReader(csv_file,delimiter=',')
line_count=0
for row in csv_reader:
uuid=row['uuid']
name=row['name']
lowerc = name.lower()
for c in lowerc:
keywords += c
arrName = keywords
print(uuid, arrName)
csv_file.close()
从我的示例文件中,这实际上给了我(是的,我想要它小写):
e1393508-30ea-8a36-3f96-dd3226033abd w
e1393508-30ea-8a36-3f96-dd3226033abd we
e1393508-30ea-8a36-3f96-dd3226033abd wet
e1393508-30ea-8a36-3f96-dd3226033abd wetp
e1393508-30ea-8a36-3f96-dd3226033abd wetpa
e1393508-30ea-8a36-3f96-dd3226033abd wetpai
e1393508-30ea-8a36-3f96-dd3226033abd wetpain
e1393508-30ea-8a36-3f96-dd3226033abd wetpaint
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 wetpaintz
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 wetpaintzo
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 wetpaintzoh
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 wetpaintzoho
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 wetpaintzohod
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 wetpaintzohodi
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 wetpaintzohodig
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 wetpaintzohodigg
我知道问题是我的第一个 for 循环在到达列表中的下一个公司名称时不是“重新开始”或归零,但我不知道如何解决它。它也不是真正的数组。
这是它“应该”的样子:
e1393508-30ea-8a36-3f96-dd3226033abd w
e1393508-30ea-8a36-3f96-dd3226033abd we
e1393508-30ea-8a36-3f96-dd3226033abd wet
e1393508-30ea-8a36-3f96-dd3226033abd wetp
e1393508-30ea-8a36-3f96-dd3226033abd wetpa
e1393508-30ea-8a36-3f96-dd3226033abd wetpai
e1393508-30ea-8a36-3f96-dd3226033abd wetpain
e1393508-30ea-8a36-3f96-dd3226033abd wetpaint
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 z
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 zo
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 zoh
bf4d7b0e-b34d-2fd8-d292-6049c4f7efc7 zoho
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 d
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 di
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 dig
5f2b40b8-d1b3-d323-d81a-b7a8e89553d0 digg
而且我需要能够将这些值作为一个数组存储在 Firestore 中:
对于名为“digg”的公司。关键词:[“d”、“di”、“dig”、“digg”]
【问题讨论】:
标签: python firebase search google-cloud-firestore cloud