- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在软件工程中,我们一直在创建索引(例如,在数据库中),但我也听到很多人谈论倒排索引。两者之间有什么根本不同吗?它们听起来像是同一件事。
最佳答案
一种常见用途是 "...to allow fast full-text searching."
这两种类型表示方向性 .一带你转发 通过索引,另一个带你向后 (逆)通过索引。就是这样。这里没有什么 secret 可以揭开。否则这两种类型是一样的,只是你提供什么信息的问题有 ,因此您想要获取哪些信息 找到。
为了解决您的疑问,我认为实际上没有一种方法可以知道为什么使用今天。定义哪个很重要的唯一原因是 forward
哪个是inverted
这样我们都可以就他们进行对话,每个人都知道我们在谈论哪个方向。想想术语“左”和“右”:它们是相对的。哪个不重要,除了每个人都需要同意哪个是“左”,哪个是“右”才能使这些词有意义。如果,作为一种文化,我们决定左右翻转,那么你会遇到同样的问题,因为商定的含义已经改变,因此要弄清楚“右转”与“左转”是什么意思。然而,命名是任意的,所以哪个是哪个(本身)并不重要——重要的是我们都同意 在意义上。
在您提出“请不要只定义术语”的评论中,您没有捕获重点,我认为当它们之间完全没有区别时,您只是对措辞感到困惑。
为了将来读者的利益,我现在将提供几个“正向”和“反向”索引示例:
示例 1:网络搜索
如果您认为索引的倒数类似于 inverse of a function in mathematics ,其中逆是具有不同形式的特殊事物,那么您就错了:这里不是这种情况。
在搜索引擎中,您有一个文档列表(网站上的页面),您可以在其中输入一些关键字并返回结果。
forward index (或只是索引)是 文件 list , 以及出现在其中的单词。在网络搜索示例中,Google 抓取网络,构建文档列表,确定每个页面中出现哪些词。
inverted index是 单词列表 ,以及它们出现的文档。在网络搜索示例中,您提供单词列表(您的搜索查询),然后 Google 生成文档(搜索结果链接)。
它们都是指数——这只是你要往哪个方向发展的问题。前向是从文档->到->单词,反向是从单词->到->文档。
示例 2:DNS
另一个示例是 DNS 查找(采用主机名,并返回 IP 地址)和反向查找(采用 IP 地址,并为您提供主机名)。
示例 3:一本书
书后的索引实际上是倒排索引 ,如上述示例所定义 - 单词列表,以及在书中的何处找到它们。在一本书中,目录就像一个远期指数 :这是本书包含的文档(章节)列表,除了列出这些部分中的单词外,目录仅给出了这些文档(章节)中包含的内容的名称/一般描述。
示例 4:您的手机
远期指数在您的手机中是您的联系人列表,以及哪些电话号码(手机、家庭、工作)与这些联系人相关联。 倒排索引是什么允许您手动输入电话号码,当您点击“拨号”时,您会看到此人的姓名,而不是号码,因为您的手机已获取电话号码并找到与之关联的联系人。
关于indexing - 倒排索引和普通旧索引有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727686/
平时很少在jquery中用到this。查看代码时发现用到了,就调试出this的值,心想原来如此。还是挺有用的。这里总结一下this与$(this)的区别和使用。 $(this)生成的是什么?
使用单例类和应用程序范围的托管 bean 来保存应用程序数据有区别吗? 我需要查找某些 JNDI 资源,例如远程 bean 接口(interface),因此我为自己编写了一个单例来缓存我的引用并且只允
如果您仔细查看包含的图片,您会注意到您可以使用 Eclipse IDE 重构 Groovy 代码并将方法转换为闭包,反之亦然。那么,闭包到底是什么,它与方法有什么不同呢?有人可以举一个使用闭包的好例子
vagrant box repackage有什么区别( docs ) 和 vagrant package ( docs )? 我意识到 vagrant package仅适用于 VirtualBox 提
我想看看是否有人可以解释为什么以下代码适用于 valueOf 但不适用于其他代码。 import java.math.BigDecimal; public class Change { publ
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicates: What is Closures/Lambda in PHP or Javascript in layman te
This question already has answers here: Vagrant, Docker, Puppet, Chef (3个答案) 2年前关闭。 docker和chef有什么共同
以下代码在95%的机器上产生相同的输出,但是在几台机器上却有所不同。在 Debug模式下,输出: Changing from New to Fin OK 但在 Release模式下: Changing
////Creating Object var Obj; // init Object Obj= {}; 它们之间有什么区别两个? 有没有可能把它变成一个单行? 这样使用有什么好处吗?
我想找出定时器服务之间的区别。我应该使用哪个以及何时使用。我正在使用 Jboss 应用服务器。 1) java.ejb.Schedule。 @Schedule注解或配置自xml。 2) javax.e
我发现在 C++ 中可以通过三种不同的方式将对象传递给函数。假设我的类(class)是这样的: class Test { int i; public: Test(int x);
有什么区别。 public class Test { public static void main(String args[]) { String toBeCast = "c
如果我有一列,设置为主索引,设置为INT。 如果我不将其设置为自动递增,而只是将唯一的随机整数插入其中,与自动递增相比,这是否会减慢 future 的查询速度? 如果我在主索引和唯一索引为 INT 的
这两种日期格式有什么区别。第一个给出实际时间,第二个给出时间购买添加时区偏移值。 NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]
如果有一个函数,请说foo: function foo() { console.log('bar'); } 那么在 JavaScript 中,从另一个函数调用一个函数有什么区别,如下所示: f
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
代码是什么: class Time { private: int hours; int minutes; int seconds; pu
我知道这是非常基本的,但有人介意解释一下这两个数组声明之间的区别吗: #include array myints; ...和: int myints[5]; ...以及为什么 myints.size
我学会了如何根据 http://reference.sitepoint.com/css/specificity 计算 css 特异性但是,基于this reference,我不明白伪类(来自c)和伪元
为什么在运行 2) 时会出现额外的空行?对我来说 1 就像 2。那么为什么 2) 中的额外行? 1) export p1=$(cd $(dirname $0) && pwd) #
我是一名优秀的程序员,十分优秀!