问题标签 [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 回答
405 浏览

c# - 这段 C# 代码有什么问题

我尝试创建一个倒排索引,但它不起作用。我的代码没有错误,但不起作用。它出什么问题了?

我每次都得到这个异常:KeyNotFoundException was unhandled : the given Key was not present in the dictionary

我编辑了代码,现在它可以正常工作,没有错误和异常。现在还有另一个问题,它必须只能读取所有文件一次,但我的意思不是每次都读取其中一个,然后执行查找过程,这不是我的意思,我需要像下面写的那样输出。看来我应该换foreach(string file in Dictionary.EnumerateFiles("D:\\IR\\","*.txt"))点别的了。但我不知道它是什么。

输出应该是这样的:

文件:文件1 文件2 文件3

找什么

什么发现:file1 file2

0 投票
1 回答
227 浏览

search-engine - 如何将新文档添加到倒排索引

考虑在 MySQL 数据库中存储位置记录的倒排索引:

现在,一个新文档来了,它的大部分单词已经被索引了。现在应该进行什么索引操作?基本方法似乎是,如果该单词已经存在于数据库中,则获取其文档并将当前文档添加到其中并更新记录。

随着文件数量的增加达到数百万,这是否可持续?Solr、Xapain、Google、Bing 等现实世界的搜索引擎如何处理这个问题?

0 投票
0 回答
207 浏览

python - 如何为多维属性建立倒排索引?

我有 userID-> (col1,col2,col3) 形式的数据,其中每个用户都有一组 (col1,col2,col3) 值)

我组织(col1,col2,col3)成一个 KD-Tree 并对其执行最近邻查询。在获得最近的邻居之后,我想在哪里(col1,col2,col3)对应哪个用户进行反向查找。这是可以在KDTree中构建的东西吗?是否有任何不同的方法来索引此类数据。

0 投票
1 回答
259 浏览

java - 使用自定义搜索的 Google 搜索

我被要求编写一个倒排索引,所以我想作为一个开始编写一个 java 程序,谷歌搜索一个单词并将结果放入一个数组列表中。

这是我的代码:

程序运行时中间没有崩溃,但我只得到一个页面的源代码(不包含任何链接)。

我需要在代码中更改什么?也许我需要一种完全不同的方法?

0 投票
1 回答
128 浏览

java - 重写我的程序,使其适合 map-reduce 结构

我编写了一个 InvertedIndex java 程序,给定一个单词,它在某个静态字符串数组中搜索该单词,其中每个字符串都是一个需要搜索的 url。它最终返回找到该单词的所有 url 的列表。

这是我的相关代码:

现在我想让它在 Amazon EMR 上运行,这意味着我需要将我的程序转换为执行相同操作的 Map-Reduce 程序。

鉴于此代码,有人可以帮我开始吗?我没有完全理解map和reduce的概念......

提前致谢

0 投票
3 回答
6349 浏览

c++ - 倒排索引:在一组文档中查找一个短语

我正在实现一个倒排索引结构,特别是一个允许布尔查询和字级粒度的结构。

我有一个大型文本数据库,并且我保留了一个索引,该索引告诉我,对于每个单词,它在哪个文件中 ( IDdoc),以及它在文件中的位置 ( position)。(一个词可以在很多文件中,也可以在一个文件的很多地方。)

因此,我为每个单词保留一个向量:

(向量按 IDdoc 排序,然后按位置升序排序。)

我有一个string组成的对象。这是我正在寻找的短语。

对于短语中的每个单词,我想知道哪些文档包含该短语,因此返回s 的向量。IDdoc

这是我的解决方案尝试:

0 投票
1 回答
73 浏览

mysql - 手动搜索倒排索引

我从 2 个表中的文档创建了一个倒排索引:

  • index_token(token_id,token)
  • index_documents(doc_id,token_id,storage_document_id)

现在我想选择在同一个 storage_document 中出现“cat”和“dog”这两个词的文档。

我的尝试是:

SELECT * FROM index_token INNER JOIN index_documents ON index_token.token_id = index_documents.token_id WHERE index_token.token = 'cat' OR/AND index_token.token = 'dog'

或者使第二个令牌可选,所以我得到的文件有狗或猫,但没有狗和猫。并且没有给我任何结果。

那么我必须如何更改查询才能获得预期的结果?

它还应该接受超过 2 个关键字。

0 投票
2 回答
845 浏览

search - Apache lucene 倒排索引

Lucene 索引是否使用 tf-idf 作为权重?是否可以为每个文档定义自己的统计信息和权重,并将它们“插入”到 Lucene 中?

0 投票
1 回答
201 浏览

php - 在倒排索引算法中避免竞争条件的技术

我正在构建一个倒排索引算法。我将以哈希表的形式将索引存储在文件或数据库中。更新索引涉及 1. 从文件或数据库将其加载到内存中 2. 将其转换为对象 3. 对对象进行更改 4. 将对象转换为字符串 5. 将其保存在文件或数据库中

现在,有多个来源将数据输入索引。如果 2 个或更多源尝试同时输入数据,则很有可能会遇到竞争条件。

避免这种情况的最知名技术是什么?

0 投票
1 回答
1060 浏览

solr - 使用 Avro 文件的 Solr 索引

我已经建立了大型倒排索引,并且我已经以 avro 格式存储了我的倒排索引,我不想将其公开为服务。我想知道有没有办法将 avro 文件加载到 solr,以便 solr 可以索引我建立的倒排索引。

这是我的倒排索引的样子: