我有一个包含约500,000个条目的列表,其中的词条长度从1到10个单词不等。我的目标是在一段较长的文本(由PDF转换而来,通常为1.5至2页)中搜索这些词条。不仅需要进行精确匹配,还需要实现模糊匹配(例如,词条“Lionel Messi”应能在文本中匹配到“Lionel Mesi”)和近似匹配(例如,“Lionel Messi”应能匹配到文本中的“Lionel J. Messi”)。
我希望在近乎实时的情况下(1-2秒内)解决这个问题。我已经尝试使用字典树数据结构和并行化技术,但特别是在涉及模糊匹配时,由于列表的庞大尺寸和PDF的长度,导致处理时间过长(大约30秒左右)。
针对这一问题,我应该如何着手解决?
- 我是否可以在Python库的支持下实时处理这个问题(利用并行化、字典树结构等技术)?
- PostgreSQL数据库是否有支持此类搜索的功能?
- 是否应该采用Elasticsearch这样的框架?