如何使用Python搜索字典列表中的正则表达式或飞快移动

时间:2018-02-01 17:20:33

标签: python json whoosh

我抓了几个电子商务网站(超过5个),数据存储在一个大的json文件中,作为词典列表,如下所示:

{
  "url": "https://www.amazon.com/category/product_1", 
  "price": 539, 
  "product_code": ["x123"], 
  "page_title": "Smartphone Samsung Galaxy S7", 
  "h1": "Smartphone Samsung Galaxy S7, 2.3GHz / 1.6GHz,QHD Super AMOLED"
 }

该列表由超过11k的词典组成。

鉴于所有数据都是标准化的,我如何搜索它以获得最佳结果?

使用正则表达式或使用飞快移动之类的东西索引json文件会更好吗?

例如,当某人正在寻找 galaxy s7 case 时,我想返回相关数据。谢谢!

1 个答案:

答案 0 :(得分:0)

小挑剔:那些是JSON"对象"而不是"字典"。当你json.loads(...)时,他们会变成字典。

至于你的问题 - 试试吧!您可以将列表减少到10,000个项目,然后使用timeit模块测试每个实现,正则表达式,列表理解,飞快移动,干草堆等,并查看它们的速度。

正如您尝试做的是搜索大量产品,我建议您查看搜索引擎。我使用的一些好的是solrxapian,但如果您已经熟悉了Whoosh,那么这听起来肯定是您提出的最佳选择。