问题标签 [inverted-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
495 浏览

mongodb - MongoEngine 搜索索引

我正在尝试使用 MongoDb (MongoEngine) 实现倒排索引搜索引擎,其中帖子中的术语被分配权重,然后用作嵌入式文档,如下所示:

然后给定一个术语,我可以使用此查询找到包含该术语的帖子:

但是,这会返回一个帖子列表,但是我如何才能找到每个返回的帖子的术语权重,而无需遍历嵌入术语列表来查找术语?有没有办法查询帖子以自动返回任何返回帖子的权重?

如果有人有更好的方法在 MongoDB 中实现搜索引擎,也将不胜感激?

谢谢!

0 投票
1 回答
1138 浏览

python - 如何使用字典理解和自动增量ID实现从字符串列表到字典的倒排索引?

你能建议我一个字典理解来迭代项目列表并将它们在字典中散列,其值等于自动递增的整数 id?或者某种从生成器或其他列表中获取价值的方法?

有没有可能是这样的:

我目前的解决方案:

0 投票
1 回答
282 浏览

python - 如何在磁盘上编写 OOBtree 索引?

我有大量信息要索引并创建发布列表以供以后检索,我搜索并了解BTree Data structure适合在磁盘上存储大数据映射。

在 Python 库中,我找到了 Btree 4.08 并阅读了文档,我OOBTree module在代码中使用了将数据插入到OOBtree但我不知道该树的哪个部分必须存储在磁盘上,或者如何存储?

这是BTree Python 文档的链接:

0 投票
2 回答
2791 浏览

algorithm - 倒排索引中的搜索算法

考虑一下人们在 google 中搜索过的 100 亿个单词。对应于每个单词,您拥有所有文档 ID 的排序列表。该列表如下所示:

我正在寻找一种算法来找到 100 个稀有词对。稀有词对是在一个文档中同时出现(不一定连续)的一对词。

如果可能的话,我正在寻找比 O(n^2) 更好的东西。

0 投票
1 回答
488 浏览

arrays - 在 VBA 中创建倒排索引的有效方法

我正在创建一个倒排索引来获取一个单词字典,其中包含该单词出现的行号的相关列表(开始行号和出现在该行内给定单元格中的单词列表)。

我已经设法让一些代码为此工作,但我发现处理添加到数组(字典中的值)有点麻烦,我想知道是否有更有效或更优雅的方法来处理这个问题。

我愿意使用数组、集合或任何其他可以轻松搜索的数据类型来将行号列表存储在字典的值中。我已经粘贴了我的代码的缩减版本来演示下面的核心问题,问题实际上只是关于BuildInvertedIndex过程,但包含其余部分是为了让重新创建场景变得更容易:

要运行它,您需要活动工作表(句子)的 F 列中的值,如果您还没有它,您还需要在 VBA 环境中添加对 Microsoft Scripting Runtime 的引用,以便字典数据类型可用(工具-> 参考-> Microsoft 脚本运行时)。

正如您将从代码中看到的那样,这有点混乱,我必须将新行号插入现有数组(存储为字典中的值)。由于我不知道扩展此数组的方法(不清除现有值),因此我使用变量 tmpArr 创建了一个适当大小的数组,然后从字典中的现有数组中一一复制这些值然后将当前行号添加到末尾。然后使用临时数组替换该键(当前单词)的现有值。

对此的任何建议将不胜感激。

0 投票
1 回答
648 浏览

information-retrieval - 无法加载称为元索引的索引结构

当我使用 terrier 3.5 为集合构建倒排索引时。首先,我使用“./bin/trec_setup.sh var/corpus”,其次,我使用“./bin/trec_terrier.sh -i -j”,但出现无法加载称为元索引的索引结构的错误。

0 投票
1 回答
2161 浏览

c++ - 在 C++ 中存储、加载和使用倒排索引的最佳方式(~500 Mo)

我正在开发一个使用 TF-IDF 和余弦相似度的小型搜索引擎。添加页面时,我会建立一个倒排索引来保持不同页面中的单词频率。我删除了停用词和更常见的词,以及复数/动词/等。被阻止。

我的倒排索引看起来像:

有了这个数据结构,我可以得到 idf 的权重word_a.size()。给定一个查询,程序会遍历关键字并对文档进行评分。

我不太了解数据结构,我的问题是:

  1. 如何存储 500 Mo 倒排索引以便在搜索时加载它?目前,我使用 boost 来序列化索引:

    然后我在搜索时加载它:

    但它很慢,加载需要大约 10 秒。

  2. 我不知道map对于倒排索引是否足够有效。

  3. 为了对文档进行聚类,我从每个文档中获取所有关键字,然后循环遍历这些关键字以对相似的文档进行评分,但我想避免再次阅读每个文档并仅使用此倒排索引。但我认为这种数据结构会很昂贵。

预先感谢您的任何帮助!

0 投票
1 回答
110 浏览

java - HashMap 问题中的对象列表

我正在为我的搜索引擎构建一个倒排索引文件。我已经编写了这个类,但是当我尝试测试它时,程序卡在这部分:

每当我删除上面放置的代码块时,整个搜索引擎都会继续正确爬行。由于程序没有采取进一步的行动,它似乎被卡住了......你可以在这里看到整个代码:

我不知道为什么它会卡在那个 for 循环中。我可能已经太累了,希望没有看到小错误......有人可以给我他们对这段代码的意见吗?

0 投票
2 回答
806 浏览

database - 从哪里获得带有相应网页数据集的网络图

我正在尝试PageRank在一组网页上实现算法,因为我需要一个dataset网页样本,以及与它们对应的网页图,这个网页图表示数据集包含的页面之间的链接。

我需要网络图,以便获取转换矩阵并进行所需的计算。例子:

URLxxxx是一个id,以某种方式映射到相应的网页

我的问题是:我如何/在哪里可以获得这个资源(我在互联网上尝试了很多链接,但没有任何帮助),我也希望它不是很大,(互联网连接限制),如果我不能就这样,你能给我一些关于我应该做什么的建议吗?

更新:对于那些可能认为这个离题的人来说,他们可能是对的,像软件推荐或计算机科学这样的网络,甚至没有相应的标签,并且不适合这个问题,我感谢你的帮助.

0 投票
3 回答
17484 浏览

java - Java 倒排索引程序

我正在 java 上编写一个倒排索引程序,它返回多个文档中术语的频率。我已经能够返回一个单词在整个集合中出现的次数,但我无法返回该单词出现在哪些文档中。这是我到目前为止的代码: