sphinx
camellias_
这个作者很懒,什么都没留下…
展开
-
sphinx(九)根据关键词相似度排序
全文检索通过sphinx搜索出来的内容是没有问题的。但是搜索结束之后,文章的排序还是多少有点小问题,是这样,我最开始是使用时间倒叙排序,这样就会有一个小问题就是,我想要的结果,或者说跟我搜索关键词最贴近的结果不会出现在前几条。这个体验很不好。然后,我这里使用了PHP内置的similar_text函数对文章的描述以及标题进行相似度的计算,然后根据计算之后的相似度数值进行倒叙排序。我这里封装了一个函数:仅作示例,具体还是需要根据你自己的需求来function similar_arr($array, $k原创 2021-03-16 08:50:59 · 336 阅读 · 0 评论 -
solr(四)solr目录结构
Solr目录结构:1、bin:官网原话是这样的:这个目录包括一些能够让solr用起来更容易的重要的脚本,和普通的bin目录的作用是一样的。1.1、solr和solr.cmd:分别是用于linux系统和Windows系统,根据所选参数不同而控制solr的启动和停止。1.2、solr.in.sh和solr.in.cmd:这些是分别用于linux和Windows系统的属性文件。1.3、install_solr_services.sh:此脚本用于linux系统将Solr作为服务安装2、cont原创 2020-12-18 09:52:23 · 737 阅读 · 2 评论 -
solr(三)centos7.6安装配置javasdk1.8及运行solr
前边大概记录了一下windows安装及配置solr的过程。这里再记录一下centos7安装及配置solr的过程。一:安装java-jdk1.查看现有JAVA环境查看CentOS自带的Java环境yum list installed |grep java2. 卸载现有Java环境输入su,输入root超级管理员的密码,切换到root用户模式yum -y remove java-1.8.0-openjdk* //(注意前面的用户已经显示root)yum -y remove t原创 2020-12-16 09:48:45 · 303 阅读 · 0 评论 -
solr(二)windows安装及运行solr
这个其实没啥可写的。但是有个坑我觉得需要记录一下。Solr是使用java开发的,运行需要使用java环境jdk。我是在oracle官网下载的。链接如下:https://www.oracle.com/java/technologies/javase-downloads.html这里下载的版本是13.0.2,理论上我觉得是没有问题的,环境变量啥的,我也配置完了,但是运行的时候报错,告诉我:ERROR: Java 1.8 or later is required to run Solr. Current J原创 2020-12-15 09:12:54 · 758 阅读 · 0 评论 -
solr(一)windows系统安装javasdk及配置系统变量
工作需要使用到solr索引引擎。这个破玩意是用java写的,运行这个玩意,需要有javasdk环境,这是个啥,没用过啊。百度了一下。这里记录了一下,我大概的安装过程。一:安装javasdk访问javasdk官方网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html下载javasdk安装包,进行安装二:配置系统环境变量1:我的电脑右键->属性->高级->环境变量->系统变量->原创 2020-12-14 09:35:34 · 258 阅读 · 0 评论 -
sphinx(八)sphinx增量索引
我服务器上部署的sphinx-for-chinese全文搜索引擎主要是做博客的搜索,数据量不大,因此,这里更新索引每次都是更新所有。但是相对于大数据量来说,每次都全部更新的话,速度可能会比较慢。关于这个问题,sphinx为我们提供了增量索引这个功能。也就是说,我们每次为新增加的数据增加索引,然后和之前的索引再进行合并,这个相对来讲速度比较快。1:创建sphinx索引表,用于记录那些数据已经被创建索引create table sphinx( max_id int unsigned not原创 2020-12-11 14:20:05 · 346 阅读 · 0 评论 -
sphinx(七)sphinx匹配模式
Sphinx匹配模式语法: $sp -> SetMatchMode(常量)SPH_MATCH_ALL 匹配所有词(默认)SPH_MATCH_ANY 匹配一个词SPH_MATCH_PHRASE 匹配整一个词SPH_MATCH_BOOLEAN 将查询看作一个布尔表达式SPH_MATCH_EXTENDED 查询看做一个sphinx的表达式举例: 我喜欢PHP分词: 我 喜欢 PHP准备工作: 先停止服务-> 创建索引->原创 2020-12-10 09:08:12 · 401 阅读 · 0 评论 -
sphinx(六)sphinx 配置文件sphinx.conf配置项全解析
source:数据源,数据是从什么地方来的。index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。## 数据源src1source src1{ ## 说明数据源的类型。数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,pyt原创 2020-12-09 13:40:11 · 549 阅读 · 0 评论 -
sphinx(五)php执行sphinx更新索引rotate命令
我将sphinx全文检索应用到我的博客中。我这里使用thinkphp5.0框架,其实这玩意跟我用啥框架还真没有啥关系。将sphinxapi.php文件放到你能引用到的地方就好。参照前几篇中的php的demo代码就可以了。当然,上边说的只是PHP中sphinx的使用。执行到这里,我发现了一个小问题:我该如何维护sphinx的索引,说实话,我博客中的数据不多,说维护,其实就是每次生成全部索引就可以了。这样的话,我就可以在更新博客文章的时候,使用PHP执行更新索引的命令就可以了。但是,在使用PHP执原创 2020-12-08 09:08:24 · 362 阅读 · 2 评论 -
sphinx(四)centos7安装sphinx3.3.1
Sphinx使用的版本我是一点点增高的。Coreseek3.2是基于sphinx0.9开发的。Sphinx-for-chinese是基于sphinx2.3.1开发的。我这里尝试一下sphinx的最新版本sphinx3.3.1,当然,这个只做为了解就好,我也只是尝试一下。百度上有提供sphinx+swcs中文分词实现中文全文检索的样例,我没有尝试。有兴趣,请移步百度。1:安装sphinxSphinx官网:http://sphinxsearch.com/安装的文件包也是在官网中。Sphinx3原创 2020-12-07 09:38:49 · 617 阅读 · 0 评论 -
sphinx(三)centos7编译安装sphinx-for-chinese
Coreseek目前官方网站已经不能访问了,大概率估计后期就不会有人维护了。对于长期发展来看,可能是不要好。所以我的博客中使用了sphinx-for-chinese。是基于sphinx2.3.1开发的。下载地址:https://gitee.com/mz/sphinx进入目录cd /usr/local/download/sphinx安装依赖:yum install mysql-devel编译,这里我需要说明一下:我的mysql使用编译安装,所有的文件都被我编译安装到/usr/local/m原创 2020-12-04 10:03:40 · 475 阅读 · 0 评论 -
sphinx(二)centos7编译安装coreseek3.2
文章搜索我现在使用的是mysql的模糊查询like搜索标题关键字。之前也有用全文索引,但是全文索引的效率比较低,所以,后期就没有在对文章内容进行匹配。后来接触到中文分词器,感觉他刚好能解决我的问题:目前比较好的支持PHP的分词器大概有solr(基于Java开发),sphinx(基于C++开发)Solr需要java环境才可以运行。我不太喜欢,所以,这个先被过滤掉。比较好的选择就是sphinx(斯文克斯)但是,sphinx是不支持中文分词的,所以,百度上给的大多数的结果是基于sphinx内核开发的co原创 2020-12-03 09:35:40 · 346 阅读 · 0 评论 -
sphinx(一)全文检索引擎sphinx
一:sphinx简介Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用 程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL 也设计了一个存储引擎插件。二:sphinx特性 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小原创 2020-12-02 11:42:39 · 615 阅读 · 1 评论