zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    CentOS内核优化提示:cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
    CentOS 7使用通过二进制包安装MySQL 5.7.18
    MySQL错误:TIMESTAMP with implicit DEFAULT value is deprecated
    CentOS增加用户到sudo用户组
    Linux下Shell函数返回值实现种类
    Nginx配置直接php
    Nginx报Primary script unknown的错误解决
    CentOS下的apache配置支持php
    CentOS 7解压安装PHP5.6.13
    [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证
  • 原文地址:https://www.cnblogs.com/xd502djj/p/4097557.html
Copyright © 2011-2022 走看看