如何创建一个反向索引来存储每个单词的文档ID,句子编号和句子中的位置?

问题描述

我想建立一个反向索引,为每个单词或单词ID存储文档ID,句子编号和句子中的位置,如下所示。

words -> postings
w1    -> [(d1,s1,1),(d2,s2,3)]
w2    -> [(d2,2)]
...
...
wn    -> [(d8,8)]

我希望能够查询倒排索引,以获取该索引在某些单词或单词ID列表中的所有行,如下所示。在某些情况下,单词或单词ID的列表可能会很长,例如超过100个。

>> select * from inverted_index where words in (w1,w2)

以上语句应返回以下内容

words -> postings
w1    -> [(d1,2)]

我不希望这成为内存中的解决方案,并且我希望对索引的查询能够快速运行。我想在开源数据库中实现倒排索引。

要建立索引的数据在oracle数据库中,但是我没有写该数据库的权限。我使用python将数据读入cx-oracle,使用spacy执行一些清理并将其存储在pandas.DataFrame中。现在,我想将其放在倒排索引中。

是否有执行此操作的综合指南?任何方向都将非常有帮助。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)