你的方法很好。全文搜索的权衡在于,您需要牺牲快速查询来换取较慢的索引,因此您可以在前期尽可能多地完成工作。
与Lucene和它的生态系统(Solr,Elasticsearch)相比,呼呼索引非常慢。从我的PC上的一些快速测试来看,它每秒索引大约540行。您可以预期在大约4.5到5小时内索引900万行。添加的字段越多,尤其是要分析的字段,所需的时间就越长,因此请确保只分析必要的字段,并只对需要的字段进行索引。
如果您计划多次查询此索引,那么在时间上的投资可能是值得的,并且您的查询速度应该相当快。如果你需要频繁地索引大文件,并且不能每次都等待5个小时,那么可以考虑切换到Lucene、Solr或Elasticsearch。
你的数据看起来也很简单。Pandas查询允许您更快地搜索DataFrame,如果精确的布尔查询就足够了。Pandas为基本的文本处理提供了快速的矢量化方法,您可以将其用于小写、去停用词、字符映射和正则表达式等操作。
只有当您需要评分和NLP功能时,才真正需要全文搜索。