问题标签 [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.
java - 使用java从文本中读取复杂和不均匀的数据
我必须从一个不均匀且有点复杂的文件中读取文本基本上是按这个顺序
所以一个词可以出现在 n 个文档中,并且可以在一个文档中出现 n 次。例如,我正在复制文件的一小部分,由于空间限制,我不能放置出现次数过多的单词。
例子:
请任何人都可以帮我解决这个问题。另外,我可以在生成此文件时以更好的方式格式化文件吗,也许我可以重新格式化它并生成格式更好的文本文件。
谢谢你 :)
mysql - 如何在mysql中访问倒排索引
我正在构建一些广泛使用倒排索引的程序。在 sqlite3 通过 FTS 引擎我可以通过 fts4aux 访问倒排索引,就像那样(取自 fts4 教程)
如果有人知道如何用 mysql 引擎做同样的事情,我真的很感激。非常感谢。
python - 如何将一系列单词分成“N”个块?
首先请原谅我的任何含糊之处。我发现我的问题很难用英语解释。基本上我想做的是,将一大堆单词分成“N”个部分。
例如读取文件中的所有单词,然后将它们分成 N=10 个部分。更准确地说,我正在做一个数据挖掘项目。有数以千计的文档我需要对其中的单词进行排序。
说 n = 2 。我知道我可以将 am 和 nz 放在一个文件中。我需要一种算法,它可以为 n > 100 做到这一点。
PS:我的程序首先必须创建 N 个文件(或块),然后读取所有单词并根据它们的开始方式,将它们分配给其中一个块。
示例:输入:N = 2 个单词 = [....]
输出:[以am开头的单词],[以nz开头的单词]
换句话说,我想按字典顺序划分我的话
python - 使用python给定文档标记列表的倒排索引?
我是python的新手。给定文档标记列表,我需要创建一个倒排索引函数。该索引将每个唯一单词映射到文档 ID 列表,按升序排序。
我的代码:
注意:当输入参数的形式为{1:"Madam I am Adam",2: "I have never been afraid of him"}
我为上面的例子得到的输出:
根据我的代码 K,v 对应于列表的键和值
当我们使用参数调用 create_index 函数时所需的输出:
java - MapReduce 倒排索引程序
为什么我不能将 values.next() (它是 IntWritable 对象)传递给同样是 IntWriteable 的文件哈希集?(参考减速器类)
映射器类
减速机类
运行方法
主要方法
错误:
java.util.NoSuchElementException: 在 org.apache.hadoop.mapred.Task$ValuesIterator.next(Task.java:121 at org.apache.hadoop.mapred.ReduceTask$ReduceValuesIterator.moveToNext (ReduceTask.java:250) 处迭代过去的最后一个值) at org.apache.hadoop.mapred.ReduceTask$ReduceValuesIterator.next(ReduceTask.java:246) at LineIndexer$LineIndexReducer.reduce(LineIndexer.java:49) at LineIndexer$LineIndexReducer.reduce(LineIndexer.java:1) at org .apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:522) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:421) 在 org.apache.hadoop.mapred.LocalJobRunner$Job.run (LocalJobRunner.java:398)
c++ - 当我已经标记了我的文件时如何创建倒排索引?
我正在尝试创建一个倒排索引。我正在阅读文本文件的行,文本文件在每行的第一个位置有一个文档的 id,docId
该行的其余部分有关于这个文档的关键字。为了创建倒排索引,我首先要标记这个文本文件。我用我写的一个函数来做这件事,我把每个单词都存储在一个向量中。我唯一的抱怨是我还将 存储docId
为向量中的字符串。如果需要,这是 tokenize 函数的标头:
现在在对文件进行标记后,我必须创建一个将每个单词放入地图的函数,我正在考虑使用无序地图,在地图中每个单词都会出现一次。我还必须以某种方式将单词的频率存储在某处。我认为docId
在地图中使用作为键是个好主意,但后来我意识到我只能有一个docId
可以显示单词的键,而在我的文本文件中 adocId
有多个单词。
那么,我将如何解决这个问题呢?我应该从哪里开始?
full-text-search - 哈希索引与倒排索引
据我了解,哈希/倒排索引将值/单词分别映射到记录/文档。但是,哈希索引中的插入复杂度很低(因为它会在溢出的情况下添加一个新的桶),但倒排索引中的插入复杂度更高(由于维护文档 ID 的排序列表)。这是否意味着它们本质上是相同的,除了实现?
filter - Elasticsearch 范围过滤倒排索引
拥有百亿份文件。文档的一个字段是时间戳(毫秒),索引时使用以下映射。
搜索时,使用范围过滤器。由于使用了 doc_value,范围过滤器内部使用反转索引进行搜索。这是一种缓慢。
如果我以另一种方式更改映射,即使用天而不是小时/秒/毫秒。
搜索时,使用范围过滤器,它更快。
有人可以帮助解释为什么性能不同。
第一个(使用秒/毫秒),反转索引(在内部假设它是一种哈希表)有大量的键。而第二个(仅使用天数),反转索引的键少得多。是这个原因吗?
solr - solr 可以找到文档字段的所有术语吗?
solr 使用倒排索引从索引的“术语”中查找文档。但我想知道的是——
是否有任何方法可以了解所有引用特定文件的术语?
谢谢
node.js - DynamoDb 排序?
我对 Dynamo Db 概念非常陌生,所以如果我的问题有点愚蠢,请原谅我我有一个文件看起来像这样
等等。简而言之,每一行是 1:一个单词和其中的所有 URL 2:一个 URL 和出现次数
需要做的是在给定单词的情况下对发电机进行查询,输出需要是按外观排序的 URL 列表。
例如这个文件对于单词 appel 的输出是:
我试图创建 2 个表 `Invert-index' 和 'rank' 第一个用于单词和 URL 列表,第二个用于 URL 和他的排名,但我无法找到一种方法来进行查询而不对我自己进行排序
所以首先:Dynamo 结构(两张表)是否正确?有没有办法查询数据库并对结果进行排序?