coreseek

简介:

coreseek

该词条缺少基本信息栏、词条分类,补充相关内容帮助词条更加完善!立刻编辑>>

 

Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,可以免费下载使用。

 

 

1什么是CoreSeek

Coreseek 是一个可供企业使用的、基于Sphinx(可独立于Sphinx原始版本运行)的中文全文检索引擎,按照GPLv2协议发行。商业使用(例如, 嵌入到其他程序中)需要获得商业授权。

Coreseek是一个支持中文的全文搜索引擎,意图为其他应用提供高速、低空间占用、高相关度结果的中文全文搜索能力。CoreSeek可以非常容易的与SQL数据库和脚本语言集成。

应用程序可以通过三种不同的接口方式来与Sphinx搜索服务(searchd)通信:a) 通过原生的搜索 API (SphinxAPI),b) 通过Sphinx自身支持的MySQL网络协议 (使用命名为SphinxQL的SQL精简子集), 或者 c) 通过MySQL 服务端的存储插件引擎(SphinxSE)。当然, 还可以通过可以使用 a)、b)、c) 的应用程序来构建webservice来为其他应用程序提供通信

在Sphinx发行版本中提供的原生搜索API支持PHP、Python、Perl、Rudy和Java。搜索API非常轻量化,可以在几个小时之内移植到新的语言上。第三方API接口和插件提供了对Perl、C#、Haskell、Ruby-on-Rails支持,以及对其他可能的语言或者框架的支持。

从版本1.10-beta开始,Sphinx支持两种不同的索引后端:“磁盘(disk)”索引后端和“实时索引(realtime)”(RT)索引后端。磁盘索引支持在线全文索引重建,但是仅支持非文本(属性)数据的在线更新。RT实时索引在此基础上,又增加了在线的全文索引更新。在此之前的版本仅支持磁盘索引。

使用命名为数据源的接口,数据可以被加载到磁盘索引。当前系统内置MySQL和PostgreSQL以及ODBC兼容(MS SQL、Oracle等) 数据库数据源的支持,也支持从管道标准输入读取特定格式的XML数据。通过适当修改源代码,用户可以自行增加新的数据源驱动(例如:对其他类型的DBMS的原生支持)。在Coreseek发行的版本中,用户还可以使用Python脚本作为数据源来获取任何已知世界和未知世界的数据,这极大的扩展了数据源的来源。从1.10-beta版本开始的RT实时索引,只能使用MySQL接口通过SphinxQL来操作。

Sphinx 是SQL Phrase Index的缩写,但不幸的和CMU的Sphinx项目重名。

CoreSeek的特性

索引和搜索性能优异;

先进的索引和查询工具 (灵活且功能丰富的文本分析器,查询语言,以及多种不同的排序方式等等);

先进的结果集分析处理 (SELECT 可以使用表达式, WHERE, ORDER BY, GROUP BY 等对全文搜索结果集进行过滤);

实践证实可扩展性支持数十亿文档记录,TB级别的数据,以及每秒数千次查询;

易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口

易于通过分布式搜索进行扩展

高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒);

高性能的搜索 (在1.2G文本,100万条文档上进行搜索,支持高达每秒150~250次查询);

高扩展性 (最大的索引集群超过30亿条文档,最繁忙时刻的查询峰值达到每天5千万次);

提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法;

支持分布式搜索功能;

提供文档片段(摘要以及高亮)生成功能;

内建支持SphinxAPI和SphinxQL搜索箭口,也可作为MySQL的存储引擎提供搜索服务;

支持布尔、短语、词语相似度等多种检索模式;

文档支持多个全文检索字段(缺省配置下,最大不超过32个);

文档支持多个额外的属性信息(例如:分组信息,时间戳等);

支持查询停止词;

支持词形学处理;

支持特殊词汇处理;

支持单一字节编码和UTF-8编码;

内建支持英语、俄语、捷克语词干化处理; 对法语,西班牙语,葡萄牙语,意大利语,罗马尼亚语,德国,荷兰,瑞典,挪威,丹麦,芬兰,匈牙利等语言的支持可通过第三方的 libstemmer 库 建立);

原生的MySQL支持(同时支持MyISAM 、InnoDB、NDB、Archive等所有类型的数据表 );

原生的PostgreSQL 支持;

原生的ODBC兼容数据库支持 (MS SQL, Oracle, 等) ;

如何得到CoreSeek

Coreseek可以从Coreseek官方网站下载。

目前,CoreSeek的发布包包括如下软件:

indexer: 用于创建全文索引;

search: 一个简单的命令行(CLI) 的测试程序,用于测试全文索引;

searchd: 一个守护进程,其他软件(例如WEB程序)可以通过这个守护进程进行全文检索;

sphinxapi: 一系列searchd 的客户端API 库,用于流行的Web脚本开发语言(PHP, Python, Perl, Ruby, Java).

spelldump: 一个简单的命令行工具,用于从 ispell 或者 MySpell(OpenOffice内置绑定) 格式的字典中提取词条。当使用 wordforms时可用这些词条对索引进行定制.

indextool: 工具程序,用来转储关于索引的多项调试信息。此工具是从版本Coreseek 3.1(Sphinx 0.9.9-rc2)开始加入的。

mmseg: 工具程序和库,Coreseek用于提供中文分词和词典处理。

CoreSeek的安装

coreseek安装需要预装的软件:apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev

##下载coreseek:coreseek 3.2.14

$ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

$ tar xzvf coreseek-3.2.14.tar.gz

$ cd coreseek-3.2.14

##安装mmseg

$ cd mmseg-3.2.14

$ ./bootstrap

$ ./configure --prefix=/usr/local/mmseg3

$ make && make install

$ cd ..

##安装coreseek

$ cd csft-3.2.14

$ sh buildconf.sh

$ ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql

$ make && make install

$ cd ..

##测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文)

$ cd testpack

$ cat var/test/test.xml

$ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml

$ /usr/local/coreseek/bin/indexer -c etc/csft.conf --all

$ /usr/local/coreseek/bin/search -c etc/csft.conf

##建立索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all

##开启searchd服务

/usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/sphinx.conf

 

 

 

 

 

 

 

扩展阅读:

3.

coreseek(sphinx)中文分词之前缀索引,中缀索引和同义词及

http://www.taoyutaole.com/thread-2152-1-1.html

 

 

词条标签:





本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/p/4097557.html ,如需转载请自行联系原作者。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
2月前
|
缓存 Linux iOS开发
DeepSeek Harness 自动更新怎么开?dsh 本体自动更新与插件升级提醒的做法
DeepSeek Harness 本体没有自动更新开关:最省事是用 npx 启动(每次按最新解析),全局安装则用系统计划任务定时跑 npm install -g @latest;插件侧另有启动时检查更新与可更新徽标。
574 1
DeepSeek Harness 自动更新怎么开?dsh 本体自动更新与插件升级提醒的做法
|
7月前
|
存储 SQL 监控
从 OpenSearch 到阿里云 SLS:极致弹性、更低成本、生态兼容
本文围绕"让可观测更简单"展开。通过将OpenSearch数据接入SLS,在单一平台完成数据加工、查询分析、看板展示与告警,消除跨系统跳转与口径不一致。提供成本对比与落地路径,助力团队降低成本、轻化运维、加快上线,构建完整可观测闭环。
694 54
|
8月前
|
人工智能 自然语言处理 运维
AI应用的开发流程
AI应用开发不同于传统编程,核心是从“确定性”转向“概率性建模”,需遵循LMOps方法论:涵盖业务定义、数据工程(RAG)、提示词工程、Agent架构、评估护栏、微调及部署监控。适合内容生成或企业级私有助手场景。#AI应用 #AI智能体
|
安全 测试技术 数据库
达梦 DM8 数据库安装详细手册(Windows+Linux+Docker)(二)
达梦 DM8 数据库安装详细手册(Windows+Linux+Docker)(二)
达梦 DM8 数据库安装详细手册(Windows+Linux+Docker)(二)
|
7月前
|
关系型数据库 Go API
PHP的协程革命——从Generator到Fibers的异步演进
PHP作为传统的同步阻塞语言,在很长一段时间内缺乏对高并发I/O场景的原生支持。
362 1
|
6月前
|
弹性计算 监控 网络协议
服务器部署后用户反馈访问慢,一份 SRE 视角的全链路网络诊断实战清单
本文总结后端/运维/站长高频遇到的“用户访问异常”问题,提出可落地的“全链路诊断七步法”:从多地Ping、TCPing、HTTP分段测速、Traceroute定位拥塞点,到DNS一致性检查与IP信誉扫描。不讲理论,只教命令、工具和典型现象判断,助你快速定位网络瓶颈,告别“本地正常、用户炸锅”的排查困境。
841 0
|
缓存 前端开发 大数据
虚拟列表在Vue3中的具体应用场景有哪些?
虚拟列表在 Vue3 中通过仅渲染可视区域内容,显著提升大数据列表性能,适用于 ERP 表格、聊天界面、社交媒体、阅读器、日历及树形结构等场景,结合 `vue-virtual-scroller` 等工具可实现高效滚动与交互体验。
1350 1
|
存储 关系型数据库 MySQL
【阿里规约】阿里开发手册解读——数据库和ORM篇
从命名规范、建表规范、查询规范、索引规范、操作规范等角度出发,详细阐述MySQL数据库使用过程中所需要遵循的各种规范。
【阿里规约】阿里开发手册解读——数据库和ORM篇
|
弹性计算 Linux Apache
部署并使用Docker(Alibaba Cloud Linux 3)
本场景带您体验如何在Alibaba Cloud Linux 3.2104 LTS 64位操作系统的云服务器上部署并使用Docker。
10875 114
|
设计模式 算法 数据可视化
分析大型软件系统的经典方法
【6月更文挑战第19天】本文介绍ATAM(架构权衡分析方法)是一种评估大型软件系统架构的工具,着重考虑性能、可用性、安全性和可修改性等质量属性的交互。ATAM提供了一种结构化方法,确保在设计早期就能理解和平衡各种质量属性,以优化系统整体性能。
1441 2
分析大型软件系统的经典方法

热门文章

最新文章