当前位置:首页 » 操作系统 » 全文检索数据库

全文检索数据库

发布时间: 2022-08-30 19:12:15

❶ 我想查中文文献,请问常用数据库有哪些

国内3大中文文献数据库系统:中国知网、万方、中国期刊网。

万方数据资源系统(China Info)由中国科技信息研究所,万方数据股份有限公司研制。该数据库收录的期刊学科范围广,包括了学术期刊于非学术期刊,提供约2 000种的电子期刊的全文检索。

被收录的学术期刊都获得了“中国核心期刊(遴选)数据库来源期刊”的收录证书。个别期刊甚至将“遴选”改成“精选”,或者干脆去掉。很多作者因此误以为这就是核心期刊。

中国知网收录1994年以来国内6 600种期刊,包括了学术期刊于非学术期刊,涵盖理工、农业、医药卫生、文史哲、政治军事与法律、教育与社会科学综合、电子技术与信息科学、经济与管理。

收录的学术期刊同时作为“中国学术期刊综合评价数据库统计源期刊”。但是收录的期刊不很全面,一些重要期刊未能收录。

(1)全文检索数据库扩展阅读:

多次引用的文献,每处的页码或页码范围(有的刊物也将能指示引用文献位置的信息视为页码)分别列于每处参考文献的序号标注处,置于方括号后(仅列数字,不加“p”或“页”等前后文字、字符)并作上标。

所列参考文献的要求是:

1、所列参考文献应是正式出版物,以便读者考证。

2、所列举的参考文献要标明序号、着作或文章的标题、作者、出版物信息。

❷ oracle数据库实现全文检索

Oracle全文检索配置方法:

1.检查数据库是否具有全文检索功能(这是针对已经建成使用的数据库)

查看用户中是否存在ctxsys用户,查询角色里是否存在ctxapp角色。以上两个中的1个不满足(不存在),则说明没有装过全文检索功能。

使用contains函数的时候,若没有全文检索则会报错的。

2.若没有,则需要手动建立,先建立全文检索要使用的空间

sqlplus / as sysdba --进入控制台

createtablespaceIdx_ctxsysdatafile'/oradata/sg186fx/ctxsys01.;--创建全文检索使用的表空间

3.创建全文检索使用的用户和角色及相应的包,则需要执行oracle自带的一个脚本:cd $ORACLE_HOME/ctx/admin/catctx.sql

还是在sqlplus中执行:

@?/ctx/admin/catctx.sql ctxsys Idx_ctxsys temp nolock

在执行这个脚本的时候,输入了几个参数,第一个参数ctxsys为ctxsys用户的密码

第二个参数Idx_ctxsys为ctxsys用户要使用的表空间

第三个参数temp为ctxsys用户使用的临时表空间

第四个参数nolock为ctxsys用户处于解锁状态。

4.创建完成后,要登录ctxsys用户

connect ctxsys/ctxsys

执行以下脚本:@?/ctx/admin/defaults/drdefus.sql(这是个很重要的脚本,后面创建索引会使用该脚本创建的信息)

5.创建全文索引语法分析器

先要明确使用全文索引的用户,我要使用全文索引的是sgpm用户

因此

grantexecuteonctxsys.ctx_ddltosgpmwithgrantoption;

connect sgpm/sgpm

设置语法分析器:

execctx_ddl.drop_preference('chinalexer');
execctx_ddl.create_preference('chinalexer','chinese_lexer');

设置词法属性:

execctx_ddl.drop_preference('idx_c_store');
begin
ctx_ddl.create_preference('idx_c_store','BASIC_STORAGE');
ctx_ddl.set_attribut('idx_c_store','I_TABLE_CLAUSE','tablespacesIdx_ctxsy');
ctx_ddl.set_attribute('idx_c_store','I_INDEX_CLAUSE','tablespaceIdx_ctxsycompress2');
end;
/

6.创建索引

createindexsgpm.idx_c_cons_nameonsgpm.c_cons(cons_name)indextypeisctxsys.contextparameters('lexerchinalexerstorageidx_c_store');

7.同步索引

variablejobnonumber;
begin
dbms_job.submit(:jobno,'pkg_sp_tools.p_cont_sys_index();',sysdate,'trunc(sysdate)+19/24+1');--执行的是个性化方法。
end;
/

普通的就是用:

execctx_ddl.sync_index('idx_c_cons_name');

到此,全文检索创建成功,contains函数就可以正常使用了。

注意:创建的过程中会出现ORA-29879:cannot create multiple domain index on a column listusing same indextype ,这说明在其他用户下已经建立了该索引。

❸ sqlite中数据库中索引与全文检索的区别

SQLite 索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。一个数据库中的索引与一本书后边的索引是非常相似的。
例如,如果您想在一本讨论某个话题的书中引用所有页面,您首先需要指向索引,索引按字母顺序列出了所有主题,然后指向一个或多个特定的页码。 下面是一个sqlite上建立索引的例子
CREATE INDEX index_name ON table_name;

sqlite中支持fts表(full-text search的简称),fts3其实是sqlite的一个扩展模块,是虚拟表模块,允许用户去实现全文检索。下面是一个简单的例子:
java代码
CREATE VIRTUAL TABLE enrondata1 USING fts3(content TEXT);
可以看到,使用上面的语法即创建了一个fts3的表了,而检索时,根据手册上说的:
SELECT count(*) FROM enrondata1 WHERE content MATCH 'linux'; /* 0.03 seconds */
SELECT count(*) FROM enrondata2 WHERE content LIKE '%linux%'; /* 22.5 seconds */

看到没?这里是使用match了,而不是传统的like,而且效率很高了。
还支持如下的语法:
SELECT * FROM words_fts WHERE words_fts MATCH 'description: company';
即列名:该列要搜索的关键词
还可以这样:
SELECT * FROM words_fts WHERE words_fts MATCH 'description: comp*'
即支持通配符了

索引主要是针对表中的一列或者是多列建立的升序或者是降序的排列。全文索引是索引的升级,他是针对整个文件的字符匹配。而且建立和全文索引以后就可以对创建了该索引的表进行全文检索.

❹ 如何用java的lucene对数据库进行全文检索

lucene是一个公用的全文索引组件,它的目标是把各种各样格式的数据转化成lucene特有的索引文件格式,这样才能通过lucene的高速检索机制进行全文检索。

你的数据来源可以是关系数据库,可以是word、execl、txt文档,可以是html网页,对于这些数据源,你必须将它们内部的数据读取出来,并封装成lucene的document实例,之后让lucene帮你构建索引。

举个例子:你的有一个用户数据库,里面存储了几十万的用户信息,你现在要对这个数据库进行全文索引,那么你要做的事情是:

1.写一段传统的JDBC程序,讲每条的用户信息从数据库读取出来
2.针对每条用户记录,建立一个lucene document
Document doc = new Document();
并根据你的需要,将用户信息的各个字段对应luncene document中的field 进行添加,如:
doc.add(new Field("NAME","USERNAME", Field.Store.YES,Field.Index.UN_TOKENIZED));
然后将该条doc加入到索引中, 如: luceneWriter.addDocument(doc);
这样就建立了lucene的索引库
3.编写对索引库的搜索程序(看lucene文档),通过对lucene的索引库的查找,你可以快速找到对应记录的ID
4.通过ID到数据库中查找相关记录

上面阐述了lucene的大体用法,不知道是不是说的很清楚。

❺ 常用的中文文献检索数据库有哪些

1、中国知网:

知网,是国家知识基础设施的概念,由世界银行于1998年提出。CNKI工程是以实现全社会知识资源传播共享与增值利用为目标的信息化建设项目。由清华大学、清华同方发起,始建于1999年6月。

凭借优质的内容资源、领先的技术和专业的服务,中国知网在业界享有极高的声誉,在2007年,中国知网旗下的《中国学术期刊网络出版总库》获首届“中国出版政府奖”,《中国博士学位论文全文数据库》、《中国年鉴网络出版总库》获提名奖。

2、万方:

万方数据库是由万方数据公司开发的,涵盖期刊、会议纪要、论文、学术成果、学术会议论文的大型网络数据库;也是和中国知网齐名的中国专业的学术数据库。

其开发公司——万方数据股份有限公司是国内第一家以信息服务为核心的股份制高新技术企业,是在互联网领域,集信息资源产品、信息增值服务和信息处理方案为一体的综合信息服务商。

3、中国年鉴网络出版总库

中国年鉴网络出版总库是目前国内最大的连续更新的动态年鉴资源全文数据库。内容覆盖基本国情、地理历史、政治军事外交、法律、经济、科学技术、教育、文化体育事业、医疗卫生、社会生活、人物、统计资料、文件标准与法律法规等各个领域。

4、中国引文数据库

该库收录了中国学术期刊(光盘版)电子杂志社出版的所有源数据库产品的参考文献,涉及期刊类型、学位论文类型、会议论文类型、图书类型、专利类型、标准类型、报纸类型等超千万次被引文献。

该库通过揭示各种类型文献之间的相互引证关系,不仅可以为科学研究提供新的交流模式,同时也可以作为一种有效的科学管理及评价工具。

5、维普数据库系统

维普资讯网建成于2000年,现已成为全球着名的中文信息服务网站,是Google Scholar最大的中文内容合作网站,中国最大的数字期刊数据库,目前拥有2000余家集团用户,网站注册用户数超过200余万。

网站内容服务包括9000余种/2000万篇中文期刊全文;30余个国家/11300余种/800余万条外文期刊文献;400多种重要中文报纸信息,学科覆盖理、工、农、医、文、史、哲、法各个领域,并提供网上每日更新。




❻ 在数据库中使用全文索引的好外与坏处

好处上面已经说了。最大的优点其实就是检索速度快,对服务器的负荷降低
缺点,如果说有的话,就是需要进行填充
上一次填充后,你增加的内容,直到你再次增量填充,否则是检索不到的。
你可以根据自己更新内容的频率设置调度来自动执行。

❼ 和SQL数据库里的查询/全文检索有什么区别

这个问题很难回答,es也可以理解成是一种数据库,不仅能提供全文检索功能,还可以支持各种数值类的区间查询,聚合计算等,这些和传统数据库一样,从使用场景来说,数据库一般用来存meta,比如网站用户,用户资源等等,这些数据有个特点就是量不会很大,还有就是这些数据一般都比较结构化。
es一般用来存一些流式数据,比如应用日志,这也是目前es应用最广的方面,这些数据有个特点就是往往结构不固定,比如应用日志,不同的程序员写得模块打出来的日志字段数量都不一样,这种数据就不太方便用数据库来处理。
最后,一般传统数据库,全文检索都实现的很鸡肋,因为一般也没人用数据库存文本字段。
上面从使用场景上说明了两者的区别,从技术上两者全文检索的实现都差不多,无非是倒排索引,但是lucene毕竟是专业的,做了十几年了,索引效率,存储空间等都比传统数据库快很多,技术也迭代的非常快。
以上就是我总结的不同之处,希望能解答楼主的疑惑。
作者:Razzit
链接:https://www.hu.com/question/53063256/answer/151074607
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

❽ 以下哪些数据库是全文检索数据库

#一个完整的演示
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from whoosh.index import create_in
from whoosh.fields import *
from whoosh.analysis import RegexAnalyzer
analyzer = RegexAnalyzer(ur”([\u4e00-\u9fa5])|(\w+(\.?\w+)*)”)
schema = Schema(title=TEXT(stored=True), path=ID(stored=True), content=TEXT(stored=True, analyzer=analyzer))
ix = create_in(“indexdir”, schema)
writer = ix.writer()
writer.add_document(title=u”First document”, path=u”/a”,
content=u”This is the first document we’ve added!”)
writer.add_document(title=u”Second document”, path=u”/b”,
content=u”The second one 你 中文测试中文 is even more interesting!”)
writer.commit()
searcher = ix.searcher()
results = searcher.find(“content”, u”first”)
print results[0]
results = searcher.find(“content”, u”你”)
print results[0]
results = searcher.find(“content”, u”测试”)
print results[0]

热点内容
安卓平板怎么安装excel的软件 发布:2025-05-14 18:35:44 浏览:40
广州数控圆弧编程实例 发布:2025-05-14 18:25:00 浏览:399
搭建服务器能使用nodejs开发吗 发布:2025-05-14 18:24:14 浏览:134
alook浏览器安卓哪个版本上网最快 发布:2025-05-14 18:22:33 浏览:456
sqldist 发布:2025-05-14 18:08:18 浏览:162
人行外管局编译 发布:2025-05-14 18:07:33 浏览:649
安卓手机如何使用大流量 发布:2025-05-14 17:47:34 浏览:82
精密模具编程 发布:2025-05-14 17:45:16 浏览:499
存储顺序和逻辑顺序有什么区别 发布:2025-05-14 17:44:30 浏览:275
安卓版设置里的隐身在哪里 发布:2025-05-14 17:35:16 浏览:333