inverted-index相关内容

lucene 如何在倒排索引中使用跳过列表?

在一些博客和 lucene 网站中,我知道 lucene 在倒排索引中使用数据结构“跳过列表".但我对此有些疑惑. 1:一般情况下,跳过列表可能会在内存中使用,但倒排索引存储在磁盘中.那么 lucene 在索引搜索时是如何使用它的呢?只是在磁盘上扫描或加载到内存中? 2:skip list的插入操作符经常使用random(0,1)来决定是否插入到下一级,但是在luncene的介绍中,似 ..
发布时间:2022-01-15 12:54:18 其他开发

Cassandra 中的二级索引和倒排索引有什么区别?

当我读到这两个时,我认为他们都在解释相同的方法,我用谷歌搜索但什么也没找到.执行上有区别吗?Cassandra自己做二级索引,倒排索引要自己实现? 顺便说一下,哪个搜索速度更快? 解决方案 主要区别在于 Cassandra 中的二级索引的分布方式与手动倒排索引的分布方式不同.使用内置的二级索引,每个节点都对其本地存储的数据进行索引(使用 LocalPartitioner).通过手动索 ..
发布时间:2021-12-31 18:13:03 其他开发

正向指数 vs 反向指数 为什么?

我正在阅读有关倒排索引(由 Solr、Elastic Search 等文本搜索引擎使用)以及据我所知(如果我们以“人"为例): Person 关系的属性反转: 约翰 ->PersonId(1)、PersonId(2)、PersonId(3)伦敦 ->PersonId(1)、PersonId(2)、PersonId(5) 我现在可以搜索“住在伦敦的约翰"的人员记录 这不是解决了所有问 ..

使用列表值反转字典

所以,我将此索引作为字典. index = {'Testfil2.txt': ['nisse', 'hue', 'abe', 'pind'], 'Testfil1.txt': ['hue', 'abe','扔','送']} 我需要反转索引,这样它就会是一个字典,将重复的值合并到一个键中,将 2 个原始键作为值,如下所示: inverse = {'nisse' : ['Testfil2.txt ..
发布时间:2021-12-10 15:57:25 Python

搜索引擎中的有效低基数AND

Lucene等搜索引擎如何在数据集中的术语对许多文档通用的情况下执行AND查询?例如,在倒排索引中: 条款|document_id---------------------程序|1,2,3,5 ...python |一四验证码|4C ++ |4、5 术语 program 存在于多个文档中,这意味着对 program AND code 的查询将需要对大量文档进行相交. 是否有一种方法可以 ..
发布时间:2021-05-15 21:08:06 其他开发

弹性搜索地理空间搜索实施

我试图了解弹性搜索在内部如何支持地理空间搜索. 对于基本搜索,它使用倒排索引;但是它如何与其他搜索条件(例如在特定半径内搜索特定文本)结合在一起. 我想了解如何存储和查询索引以支持这些查询的内部信息 解决方案 文本&地理位置查询功能彼此独立.让我们举一个具体的例子: PUT餐厅{“映射":{“特性": {“地点": {"type":"geo_point"},“菜单": {" ..

前向索引vs反向索引为什么?

我正在阅读有关倒排索引(由Solr,Elastic Search等文本搜索引擎使用)以及据我了解(如果我们以“ Person”为例)的话: Person关系的属性反转: John-> PersonId(1),PersonId(2),PersonId(3) 伦敦-> PersonId(1),PersonId(2),PersonId(5) 我现在可以搜索人员记录对于“住在 ..

MySQL查询倒排索引数据

我在网站上有数千个页面,我将其解析并存储为倒排索引,即 文档 医生(PK,FK) 网址 字符数 wordcount 字符计数和单词计数可以帮助我根据简短信息确定较长的文档,以后可以使用. 单词 wordid(PK,FK) 单词 doc_freq inverse_doc_freq 对于inverse_doc_freq计算,我使用虚构的高数字(10000 ..
发布时间:2020-06-26 19:20:01 PHP

我已经为网站创建了倒排索引,但是在哪里存储呢?搜索引擎的数据库?

搜索引擎的数据库可以是什么?我的意思是在为网站创建反向索引之后,可以在其中存储索引,以便程序可以为其他站点创建索引并保存它们.稍后在索引器上也可以查询它们. 因为指数的范围可以达到数千亿. 谢谢 解决方案 我会使用 Lucene .这就是它的目的.您甚至可以选择多种不同的语言. ..
发布时间:2020-06-26 19:19:57 其他开发

存储倒排索引

我正在从事有关信息检索的项目. 我已经使用Hadoop/Python建立了完全反向索引. Hadoop将索引输出为(单词,文档列表)对,并将其写在文件上. 为了快速访问,我使用上述文件创建了一个字典(哈希表). 我的问题是,如何在具有快速访问时间的磁盘上存储这样的索引. 目前,我正在使用python pickle模块存储字典并从中加载 但是它会将整个索引立即带入内存(或者是吗?). 请提出一种有效 ..
发布时间:2020-06-26 19:19:55 Python

创建巨大的反向索引的方法

我想创建一个约10 6 项的大倒排索引.您会建议哪种方法?我在考虑像东京橱柜,伏地魔等快速二进制密钥存储数据库.编辑:我过去曾尝试使用MySQL存储两个整数表来表示倒排索引,但即使由于第一列具有db索引,因此查询速度非常慢.我认为在这些情况下,SQL数据库的开销,事务开销,查询解析等开销太大.我正在寻找具有良好响应时间和性能的可扩展的技术或算法方法.我正在为研究目的推出自己的解决方案. 解决 ..
发布时间:2020-06-26 19:19:45 其他开发

与SphinxSE和RT索引有关的一些问题

我考虑在我的一个项目中使用Sphinx搜索,因此我有一些与之相关的问题. 使用SphinxSE和RT索引时,SphinxSE表中的每个UPDATE或INSERT都会更新索引,对吗?不需要调用索引器之类的吗? 我可以同时搜索标签(用户输入的文档关键字)和内容,并赋予标签匹配更多相关性吗?并且,如果可能的话,如何实现标签搜索(现在我将它们放在像倒排索引一样的单独表中) 对于填充器属性,最好将 ..
发布时间:2020-06-26 19:19:43 数据库

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

如果我们要在倒排索引结构中搜索类似"t1 t2 t3"(t1,t2,t3必须排队)的查询, 我们应该怎么做? 1-首先我们搜索"t1"项,找到所有包含"t1"的文档,然后对"t2"然后是"t3"进行此操作.然后找到位置"t1","t2"和"t3"彼此相邻的文档. 2-首先,我们搜索"t1"项并找到包含"t1"的所有文档,然后在找到的所有文档中搜索"t2",然后,在此结果中,找到以下文档 ..
发布时间:2020-06-26 19:19:40 其他开发

如何在python中获取文件中的字节偏移

我正在使用hadoop和python进行反向索引. 我想知道如何在python中包含行/字的字节偏移量. 我需要这样的东西 hello hello.txt@1124 我需要用于制作完整倒排索引的位置. 请帮忙. 解决方案 喜欢吗? file.tell() 返回文件的当前位置,例如stdio的ftell(). http://docs.python.org/libra ..
发布时间:2020-06-26 19:19:37 Python

使用cPickle序列化大型词典会导致MemoryError

我正在为文档集合上的搜索引擎编写反向索引.现在,我将索引存储为字典字典.也就是说,每个关键字都映射到docIDs->出现位置的字典. 数据模型如下所示: {word:{doc_name:[location_list]}} 在内存中建立索引工作正常,但是当我尝试序列化到磁盘时,遇到了MemoryError.这是我的代码: # Write the index out to disk ..
发布时间:2020-05-27 20:22:04 Python

使用python pickle加载大型词典

我有一个完整的倒排索引,形式为嵌套python字典.其结构为: {word : { doc_name : [location_list] } } 例如,将字典称为index,然后对于"spam"一词,条目应类似于: { spam : { doc1.txt : [102,300,399], doc5.txt : [200,587] } } 我使用了这种结构,因为python di ..
发布时间:2020-05-27 20:17:26 Python

用列表值反转字典

所以,我将此索引作为字典. index = {'Testfil2.txt': ['nisse', 'hue', 'abe', 'pind'], 'Testfil1.txt': ['hue', 'abe', 'tosse', 'svend']} 我需要反转索引,这样它才能成为字典,将重复的值合并为一个键,并以2个原始键作为值,如下所示: inverse = {'nisse' : [ ..
发布时间:2020-05-05 13:25:34 Python

lucene如何在倒排索引中使用跳过列表?

在一些博客和lucene网站上,我知道lucene使用倒排索引中的数据结构“跳过列表".但是我对此有些疑惑. 1:通常,跳过列表可能在内存中使用,但倒排索引存储在磁盘中.那么,在索引上进行搜索时,lucene如何使用它?只是在磁盘上扫描它或将其加载到内存中? 2:跳过列表的插入运算符通常使用random(0,1)来决定是否插入下一个级别,但是在伦琴演奏中,似乎每个术语的间隔都是固定的, ..
发布时间:2020-05-04 07:29:15 其他开发

构建倒排索引的最佳方法是什么?

我正在构建一个小型网络搜索引擎,用于搜索大约100万个网页,我想知道构建倒排索引的最佳方法是什么?使用DBMS还是什么......?从许多不同的观点,如存储成本,性能,索引和查询的速度?并且我不想使用任何开源项目,因为我想创建自己的项目! 解决方案 也许你可能会想详细说明为什么你不想使用像Lucene或Sphinx这样的F / OSS工具。 ..
发布时间:2018-08-02 14:07:30 其他开发