gpt4 book ai didi

search - 如何在倒排索引结构中搜索短语查询?

转载 作者:行者123 更新时间:2023-12-04 19:22:12 24 4
gpt4 key购买 nike

如果我们想在倒排索引结构中搜索像“t1 t2 t3”(t1,t2,t3 必须排队)这样的查询,
我们应该怎么做?

1-首先我们搜索 "t1"词并找到所有包含 "t1"的文档,然后对 "t2"和 "t3"进行这项工作。然后找到“t1”、“t2”和“t3”位置相邻的文档。

2-首先我们搜索“t1”词并找到包含“t1”的所有文档,然后在我们找到的所有文档中搜索“t2”,接下来,在此结果中,我们找到包含“t3”的文档”。

我有一个完整的倒排索引。我想知道上面优化了哪些方法,(1)还是(2)?

多谢。

最佳答案

wikipedia入口很好地解释了,

There are two main variants of inverted indexes: A record level inverted index (or inverted file index or just inverted file) contains a list of references to documents for each word. A word level inverted index (or full inverted index or inverted list) additionally contains the positions of each word within a document. The latter form offers more functionality (like phrase searches), but needs more time and space to be created.



由于您没有告诉我们您拥有哪种变体,我们无法真正准确地回答您的问题,但考虑每种可能性会有所帮助。

打开和搜索文档通常是一项代价高昂的操作,除非您的文档异常小,因此您希望将其最小化——而选项 (2) 并没有真正将其最小化。如果您有 倒排列表 , 使用选项 (1) 您甚至不需要打开任何文档;如果您只有 倒置文件 ,您将不可避免地需要打开文档并扫描它们(因为否则您将缺乏确认单词相邻性的信息)——但至少使用选项 (1) 可以最大限度地减少您必须打开和扫描的文档数量(仅在包含每个单词的文档列表的交集)。

因此,无论哪种情况,选项 (1) 都更有希望(除非您的文档特别小)。

关于search - 如何在倒排索引结构中搜索短语查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com