sphinx安装测试2

摘要:
在上一节中,我们介绍了斯芬克斯的安装,并进行了简单的测试。在本节中,我们将讨论斯芬克斯的链接方法。我不知道最新的斯芬克斯是否删除了搜索命令。请注意。安装后,主要应用程序在我们的程序中。斯芬克斯提供了两种连接方法。一个是api默认端口9312,另一个是sphinxQL,它是MySQL接口。默认端口为9306,可以通过MySQL客户端访问。使用以下命令searchd-c/Etc/sphinx。conf在执行配置文件之后,打印这些证书以证明它们已经成功启动:总共有两个端口,也就是我们上面提到的。

上一节咱们介绍了sphinx的安装,也进行了简单的测试,这一节说一下sphinx都有哪些链接方式。

上一节咱们安装的sphinx是2.2.11 最新稳定版本,但是在安装目录、usr/local/sphinx/bin当中没有search命令。不知道是不是最新的sphinx把search命令给去掉的、请大家注意一下。

安装之后最主要怎么应用在咱们的程序当中,sphinx提供两种链接方式,一是api 默认端口9312,二是SphinxQL,是Mysql的接口,默认端口9306,可以通过mysql客户端访问。

使用下面的命令

 searchd -c  ../etc/sphinx.conf   #后面跟配置文件

执行之后

sphinx安装测试2第1张

打印这些证明已经启动成功:

一共两个端口,也就是上面咱们提到的。下面的index 是启动的索引名称,使用mysql工具链接9306端口。

新打印一下咱们抓取的原始sql数据:

sphinx安装测试2第2张

测试

 sphinx安装测试2第3张

再带查询条件查询: 查询title 包含test字段为前两条

 sphinx安装测试2第4张

说明mysql的方式测试已经成功。

下面测试sphinxAPI,使用nodejs,

首页在 https://github.com/lindory-project/node-sphinxapi/tree/master ,安装方式: npm install sphinxapi

文档比较详细,简单实用如下

#sphinx2.js

var SphinxClient = require ("sphinxapi"),

util = require('util'),

assert = require('assert');

var cl = new SphinxClient();

cl.SetServer('localhost', 9312);

cl.Query('重构','test1', function(err, result) {

assert.ifError(err);

console.log(util.inspect(result, false, null, true));

});

运行程序,node sphinx2.js,如下

{ error: '',

warning: '',

status: [ 0 ],

fields: [ 'title', 'content' ],

attrs:

[ [ 'group_id', 1 ],

[ 'date_added', 2 ] ],

matches:

[ { id: 3,

weight: 2,

attrs: { group_id: 2, date_added: 1427446411 } },

{ id: 4,

weight: 1,

attrs: { group_id: 2, date_added: 1427446411 } } ],

total: 2,

total_found: 2,

time: 0.004,

words:

[ { word: '重', docs: 2, hits: 2 },

{ word: '构', docs: 2, hits: 2 } ] }

可以看出和SphinxQL运行的效果一样,只不过返回的信息更多而已。

免责声明:文章转载自《sphinx安装测试2》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu修改中文文件夹名字为英文macOS软件推荐&避雷指南 让mac更像windows的装机必备软件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Elastic Stack之搜索引擎基础

Elastic Stack之搜索引擎基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.搜索引擎概述 1>.什么是搜索引擎 搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、...

Asphyre Sphinx is a cross-platform framework for developing 2D/3D video games and interactive business applications

Introduction Introduction Asphyre Sphinx is a cross-platform framework for developing 2D/3D video games and interactive business applications. It aids the developer with resource...

【转】C++调试技巧

自己总是用VC平台来开发东西,但是有时候总是出这样那样的问题,在这里把Visual C++开发工具与调试技巧整理摘录如下,希望对大家有用,省去大家再去搜索的烦恼。   1.如何在Release状态下进行调试   Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选G...

VS2010单元测试(转)

什么是单元测试 单元测试就是编写一段代码,用来检查某个特定条件下,另外一段代码的行为是否符合我们的预期。单元测试的代码与实际程序的代码具有同等的重要性。 每一个单元测试,都是用来定向测试它所对应的一个单元的代码是否正确执行。 单元测试的代码应该由代码的编写者来完成。 单元测试的优点 1, 通过单元测试能够协助程序员尽快找到代码中bug的具体位置, 2, 而...

吴恩达老师深度学习课程第四周编程作业--一步步搭建多层神经网络以及应用

本文是吴恩达老师深度学习第四周的编程作业,我是参考的文章https://blog.csdn.net/u013733326/article/details/79767169完成的。 首先还是作业要求,此次的作业要求还是和第二周作业要求一样,搭建一个神经网络来识别图片是否是猫。只不过本次作业要求搭建两个网络,一个是两层的,一个是多层的,多层的网络层数可以自定。...

PHP断言(ASSERT)的用法

简述 编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。程序员断言在程序中的某个特定点该的表达式值为真。如果该表达式为假,就中断操作。 可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。 使用断言可以创建更稳...