我有一组搜索词,例如 [ +dog -“jack russels”+“fox terrier” ]、[ +cat +persian -tabby ]。这些可能很长,每个术语可能包含 30 个子术语。
我现在有一些在线新闻文章摘录,例如 [ “我的狐狸梗是世界上最可爱的狗……” ] 和 [ “有人看到我丢失的波斯猫了吗?他失踪了……” ]。它们不太长,每个最多 500 个字符。
在传统的搜索引擎中,人们期望大量的文章被预处理成索引,从而在搜索给定的“搜索词”时允许加速,使用集合理论/布尔逻辑将文章减少到仅与短语匹配的文章。但是,在这种情况下,我的搜索词的顺序是 ~10^5,我希望能够一次处理一篇文章,以查看该文章将匹配的所有搜索词集(即所有+项都在文本中,没有-项)。
我有一个可能的解决方案,使用两张地图(一张用于正面子短语,一张用于负面子短语),但我认为它不会非常有效。
一等奖将是解决这个问题的图书馆,二等奖是朝着解决这个问题的正确方向推动。
亲切的问候,