如何建立索引,加快文本检索

怎样利用某种数据结构,然后建立起某种索引,加快文本检索速度,如果有类似于word的查找算法实现最好不过了,求大神指教,谢了

0

2个回答

1

word的查找算法效率并不高,它就是顺序查找。要想做文本检索,可以使用倒排索引。对于中文来说,首先需要分词。
倒排索引的原理就是将文本中的单词提取出来,建立单词->对应文章位置的映射关系,这样直接通过关键字就能找到文本了。
具体实现google:倒排索引 全文检索

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何加快Oracle建立索引的速度
如何加快建立索引的速度:   总结一下:   1。 使用并行参数,8个CPU, 可以用parallel 6 ,最多占用6个CPU, 正常情况下没问题(前提是其他应用没有占超过2个CPU的资源)   2。 nologging, 绝对应该使用,会使速度大幅上升。(减少大量redo log)   3。 PGA, 普通的auto pga最大才100M, 显然没有达到最好性能,应该使用manual ...
文本检索的奥秘—模型、索引、排序
关于文本检索的全面介绍,是搜索引擎入门级的好书
mysql 建立多个索引,加快查询速度
最近有一个接口,客户端接到数据,耗时1秒,一般的常识是 100ms以内 在接口通过exit,断点,一个一个的尝试,发现问题出在一个myqsl查询上 在mysql里用sql查询了一下,发现是0.64s,请龙哥帮忙看了一下,他的建议是建立多个索引,加快查询速度。 案例1: 一. 获取查询情况  explain  sql语句龙哥,发现没有索引 二.查
如何加快表的索引速度?
一张表,其中有500多万条数据,我用下面语句查询时,耗时10秒rnrnselect max(个人编号) from 个人档案 where 所属市='南京' and 所属区='玄武'rn其中我建立了2个索引rn索引一:所属市,所属区rn索引二:个人编号rnrn如何让我上面的语句查询快点,10秒钟的时间,有点太慢了,服务器也不差,高峰期CPU,内存资源占用从没有超过20%
如何加快Lucene 索引的构建?
参考 Lucene 5.4.0 Analysis Description Lucene加速索引原理,部分已过时 常用相关类、库(基于Lucene 5.4.0) Analyzer: org.apache.lucene.analysis.core: 常用类库 org.apache.lucene.analysis.en: 英文库 org.apache.lucene.analysis.custom: 用户
文本检索
第一课_语言模型n第二课_基于RNN的语言模型n第三课_封闭领域的聊天机器人模型n第四课_开放领域的聊天机器人模型n第五课_优化对话模型的记忆能力n第六课_总结复习n第七课_Facebook和MetaMind的记忆网络n第八课_DeepMind的神经图灵机n第九课_AllenAI的考试机器人n第十课_对话系统从原理到应用
如何建立索引和建立表
用mysql rnrnTable 结构是rnrnTable(K char(10), S date ,V DECIMAL(8,3))rnrn要求查询如下rnrnSelect *rn from Table rnwhere S>='2010-01-01'rnand V<=100.0rnrn如何建立索引了??rn是在S 和V 上分别建一个,还是建一个联合索引??rnrn注意表已经有40000W条记录
8mongoDB加快访问速度索引
尹成老师带你步入python爬虫的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以python语言为核心,完整精彩的演练了python爬虫操作流程以及各种精彩的小项目等,非常适合大家学习!
如何建立索引?
我看到这里的问题关于索引的使用的问题特别多,想整理以下,大家有什么心得可以发表一下。
MySQL如何建立索引
单表 create table if not exists `article`( id int(10) unsigned not null primary key auto_increment, author_id int(10) unsigned not null, category_id int(10) unsigned not null, views i...
如何建立索引
如何建立索引rn1 select * from a where email='212@163.com' order by namern2 select * from a where email='212@163.com' group by firstname, secondname order by namern3 select * from a where email='212@163.com' group by firstname, secondnamern这里email有重复的 , name firstname, secondname 等都有大量重复
短索引如何建立?
我的表aaa有一个字段是 varchar(255)每个值如何rnAA6A89E41691778829D24C5754B4DFB3.tomcat212729622803rnrn他记录每个登录用户的cookiern现在我据说mysql 可以使用短索引 ---利用前20个字符进行索引。 一方面节约索引空间,另一方面设计磁盘io少,查询快。rnrn问下 这个短索引如何建立?/
sqlserver2008如何建立索引
一个项目的数据量大概有10万多条,两个表要进行连接查询,我写的SQL语句执行效率太低了,进行一次查询10分钟都没查出来。大家给看一下rnselect table1.Time,rnfield1,rnfield2,rn……rnfrom table1,table2 where datediff(dd,table1.Time,'2012-12-03')=0rnand datepart(mi,[1].Time) = 00 and left([1].Time,18)=left([2].Time,18);rn个人感觉主要时间耗费在了时间处理上,用到了好多函数,其实就是[color=#FF0000]查询整点的数据[/color],大家有没有办法优化一下,如何建立索引呢?或者其他方法也行,用的是sqlserver数据库rn
sql如何建立索引
SELECT COUNT(DISTINCT PHOTO_SPECIES_NO) AS sp_total, COUNT(DISTINCT LEFT(PHOTO_SPECIES_NO, 7)) AS ge_total, rn COUNT(DISTINCT LEFT(PHOTO_SPECIES_NO, 4)) AS fa_totalrnFROM TB_PHOTOrnWHERE (PHOTO_INFOALIVE = 't') AND (PHOTO_SPECIES_NO <> '') AND (PHOTO_SPECIES_NO <> '00000000000') AND rn (PHOTO_SPECIES_NO NOT LIKE '%9999')rnrn我的页面中多次用到这样一个查询语句,想要得到的是tb_photo表中有多少条符合where条件的记录。但这条语句在数据库中查询起来就很慢,放到页面中,就使页面的加载也变慢了,有人告诉我建个索引要好的多,可是要怎么建呢。我对数据库的操作不是很熟悉。如果不用索引,什么方法比较好呢?
如何建立有效的索引?
HisTAAmountLog201306:该表ID为自增,作为主键rnSELECT t1.isValid, t1.MID,t1.ExecuteDate, t1.ExecuteType, rnt1.Amount, t1.RelationMID,t1.RelationTicket, t1.Balance, rnt1.Remark, t1.LoginID,t1.UID, OperatorInfo.LoginID AS OperatorName, rnt1.OperatorID, t1.TradeDate,t1.TradeStartDate, t1.TradeEndDate, rnt1.Id, dbo.Customer.CustomerName rnFROM HisTAAmountLog201306 as t1 INNER JOIN rndbo.Customer AS OperatorInfo ON rnt1.OperatorID = OperatorInfo.UID INNER JOIN rndbo.Customer ON t1.UID = dbo.Customer.UID rnINNER JOIN taprop t2 ON t1.MID=t2.MID rnWHERE ( OperatorInfo.customertype = '1' or Customer.CustomerType='1')rnand TradeDate >= '2013-06-04' and TradeDate <= '2013-06-04' rnorder by Mid, IDrn[img=https://img-bbs.csdn.net/upload/201311/08/1383899596_903894.jpg][/img]rn然后通过数据库引擎优化顾问,提示以下信息rn[img=https://img-bbs.csdn.net/upload/201311/08/1383899917_133787.jpg][/img]rnrn请问下,HisTAAmountLog201306,该表我要怎么建索引才是更有效?我对这样的分析图不是很明白,能不能帮我分析下,万分感谢!
mongodb如何建立索引
mongodb中如何建立高效索引,文档讲述的很清楚
如何建立分区索引?
请问如何建立分区索引?rn能简单介绍一下吗?
如何明确建立索引
想请教一下大家,如果我建了索引,发现实际情况并没有用到,如果能明确指定一个索引呢?rn另外我用explain去分析查询语句,怎么根据这个结果去调整呢?
如何分段建立索引???
比如有18位身份证号码的字段,因为身份证号码包含出生日期,rn想通过出生日期来查找,如果用like,则没有用到索引,所以rn速度特慢,我想能否只对 身份证号码的出生日期部分建立索引,rn可以吗?
如何建立这个索引?
有张表 id,title,userid (简要)rnrn数据非常多 ,1000多万 title为聚合索引(因为主要要搜索title), id 和userid各建立非集合索引rn rn现在发现执行语句select title from 表 where userid = 1 如果结果有几万条,非常慢,导致超时.rnrn执行select count(id) from 表 where userid =1 却非常快. rnrn请问要如何改善索引?
高效的索引如何建立?
销售表字段如下rnID 店号 商品编码 标准销售价格 销售数量 实际收到金额 销售时间 销售标志rn统计时要用到:rn店号 商品编码 标准销售价格 销售数量 实际收到金额 销售时间 销售标志rn应建立怎样的索引?rn
如何建立聚合索引?
一个比较菜我问题,在SQL是在哪里建立聚合索引的?
帮助文件如何建立索引
我用作了一个heml格式的帮助,我的软件用vb作的,我现在打算把他们连接起来,如果现在的焦点在某一控件上,怎么把控件和有关控件的帮助连接起来,请指教
如何建立IBClientDataset的索引?
我在一个程序中使用了IBClientDataset。我写了三个用它的函数:rn第一个函数:(能正常使用)rn 这个函数我用IBClientdataset依次建立了几张现有数据库表的结构(除现有数据表本身所带字段外还额外加了几个字段),然后把它们分别存为了几个临时文件。rn第二个函数:(能正常使用)rn 这个函数我用IBClientDataset分别读入这些临时文件,往里面写记录。rn第三个函数:(不能正常使用)rn 这个我函数我用IBClientDataset分别读入每个临时文件,把里面的数据显示出来。为了让显示的数据能按一定的规则排序,我每读入一个文件之后,就建立一个索引,但建立索引不成功,没办法增加新的索引。rn 这个函数的主要代码如下:rnProcedrue LoadTempFile(TableName:TString;KeyField:TString);rnbeginrn With IBClientDataset1 dorn beginrn Close;rn FieldDefs.Clear;rn IndexDefs.Clear;rn LoadFromfile(Path+TableName+'.tmp');//path指路径rn with indexdefs.addindexs dorn beginrn fields:='custid'+Keyfield;rn name:=TableName;rn end;rn indexdefs.update;//这句后我做过调试,查看过Indexdefs.Count的值为2(是他它自带的两个,也就是说没有增加Index)rn indexname:=TableName;//报错,提示该索引不存在。rn end;rnend;rnrn以上语句我可能抄错了,但在电脑上试过没有报语法错误。rnrn我查看Delphi说明,说增加Index之前要用CreateDataset方法,但通过LoadFromFile来读入文件是不能再使用CreateDataset的,请各位帮忙!!!rnrnrnrnrnrnrnrnrnrn
如何建立索引?
用ADO连接上了数据源,怎样对数据源中的某一表的字段建立索引.在下段源码中如何建立呢?rnrnAConnection := CreateOleObject('ADODB.Connection');rnrnAConnection.Open('Provider=MSDASQL.1;Persist Security Info=False;Data Source=GisPipe');rnrnrn建立一个数据集对象rnrn并从数据表中提取数据rnrnARecordSet := CreateOleObject('ADODB.RecordSet');rnrnARecordSet.open( 'pipevalue',rnrnAConnection,rnrnadOpenStatic,rnrnadLockOptimistic,rnrnadCmdTable );
solr如何建立索引
在如上图所示的schema.xml中,配置如下的域.其中 indexed=&quot;true&quot; 这个属性,就代表建立了索引
如何建立字符串的索引?
我现在正在编一个建索引的程序,主要是字符串型的,但是由于数据非常大 800000左右rn要实现 > < == Like 等功能,不知要建立什么数学模型?80分奉上
如何建立索引排序?
在DBgrid中显示的表table(Virsul Foxpro)。如何将其中一个字段 char 将它转换成整型数据 再按该字段名排序?
多条件查询如何建立索引
SELECT COUNT(DISTINCT PHOTO_SPECIES_NO) AS sp_total, COUNT(DISTINCT LEFT(PHOTO_SPECIES_NO, 7)) AS ge_total, rn COUNT(DISTINCT LEFT(PHOTO_SPECIES_NO, 4)) AS fa_total rnFROM TB_PHOTO rnWHERE (PHOTO_INFOALIVE = 't') AND (PHOTO_SPECIES_NO <> '') AND (PHOTO_SPECIES_NO <> '00000000000') AND rn (PHOTO_SPECIES_NO NOT LIKE '%9999') rnrn我的页面中多次用到这样一个查询语句,想要得到的是tb_photo表中有多少条符合where条件的记录。但这条语句在数据库中查询起来就很慢,放到页面中,就使页面的加载也变慢了,有人告诉我建个索引要好的多,可是要怎么建呢。我对数据库的操作不是很熟悉。如果不用索引,什么方法比较好呢?
如何建立合适的索引?
索引的好处我明白,但如何建立索引我有点肄惑:rn是不是要为每条客户SQL语句建立合适的索引,rn比如:rn1\rnwhere Field1 >5 rn就要为Filed1建立单独索引,rn如果是where Field1 >5 and Field1 <9rn就是建立Field1和Field2的复合索引。 rnrn2\Update Delete语句是否也要建立相应索引?rn3\Order by 后面的字段是否也要建立索引?rnrn
如何建立这样的索引
如何建立索引,有两个表,表结构及表内容是rnrn表Infornid system product rn1 king vistarnrn表Componentrnrninfoid infocategory component numrn 1 0 col1 5rn 1 1 max1 3rn 1 1 max2 4rnrn建立视图后表为rnid system component1 product component2 num component3 numrn1 king col1 vista max1 3 max2 4rn这样的索引出何建立呀?谢谢!
如何加快建index索引的时间
原 如何加快建 index 索引 的时间https://blog.csdn.net/tianlesoftware/article/details/5664019版权声明: https://blog.csdn.net/tianlesoftware/article/details/5664019 朋友在500w的表上建索引,半个小时都没有结束。所以就讨论如何提速。 一. 先来看一下创建索引要做哪些...
查询索引和建立索引
PHP中想查询A表和B中的CODE和EXP_CODE两个字段是否建立了索引,如果没有,则为这两个字段建立索引,语句该如何写???rn另想问一下,如果建立索引,会影响数据库结构吗?
索引优点(2):索引是如何加快查询速度?
索引优点中,最重要的就是加快查询速度。 索引有如下3个特点,这3点虽然看上去,句句都是废话,但仔细想想就发现,这3个特点包含的东西,远远超过了3句话所涵盖的。 (1)索引有序 创建索引后,之所以查询速度会快,是由于创建索引时,会按照字段进行排序,如果有多个字段,那么会按照多个字段逐个排序。 在查找的时候,可以用类似二分查找的算法,快速判断要找的值在哪个B树的分支。 (2)索引高度
临时表如何建立索引?临时表的结构索引?
临时表如何建立索引?rnrn********rn在vfp9中文帮助中:rnrnSELECT - SQL 命令 - INTO 或 TO 子句rnrnCURSOR CursorName [NOFILTER | READWRITE]rn 在一个临时表中存储查询结果。rnrnREADWRITE 指定临时表为可修改。如果源表或表中使用了自动增量(auto-incrementing),由 READWRITE 创建的临时表不继承该设置。使用 READWRITE 子句可以在临时表上创建多个结构索引。rn********* rnrn最后一句话“[color=#FF0000][b]使用 READWRITE 子句可以在临时表上创建多个结构索引。[/b][/color]”rn怎样理解,又怎样实现?
为什么建立索引以后,查询速度会加快啊?
如题,我对索引还不太理解,希望大家踊跃发言
给分的问题!建立索引如何能加快查询!
凡是能给出例子的都有分!rn前台DELPHIrn后台ORACLErn最好是建两个索引!
datetime字段建立索引,可以加快检索速度吗??
rnselect 姓名,出生日期,性别,学好 from students where 出生日期 = '1980-10-21'rnrnrndatetime字段【出生日期】建立索引,可以加快检索速度吗???rnrn不知道在哪里看到的只有char型字段建立索引,才可以加快检索速度,所以想确认一下!!rnrnrn感谢!!rnrnrn
为什么建立索引能加快查询速度,外键又有什么用呢
如题,面试需要
文本检索--信息检索
文本检索