pos机服务器配置,在Ubuntu安装和配置Sphinx

 新闻资讯  |   2023-04-23 12:14  |  投稿人:pos机之家

网上有很多关于pos机服务器配置,在Ubuntu安装和配置Sphinx的知识,也有很多人为大家解答关于pos机服务器配置的问题,今天pos机之家(www.poszjia.com)为大家整理了关于这方面的知识,让我们一起来看下吧!

本文目录一览:

1、pos机服务器配置

pos机服务器配置

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。

在开始本指南之前,您需要:

一个Ubuntu 16.04服务器。sudo的一个非root用户,您可以通过以下设置本教程 。安装在服务器上,你可以通过下面的第2步设置在mysql 本教程 。

第1步 - 安装Sphinx

在Ubuntu上安装Sphinx很容易,因为它在本地软件包存储库中。 使用安装它apt-get 。不行可以运行apt-get update

sudo apt-get install sphinxsearch

现在您已经在服务器上成功安装了Sphinx。 在启动Sphinx守护进程之前,让我们进行配置。

第2步 - 创建测试数据库

接下来,我们将使用随包提供的SQL文件中的示例数据设置数据库。 这将允许我们测试Sphinx搜索以后工作。

让我们将示例SQL文件导入数据库。 首先,登录到MySQL服务器shell。

mysql -u root -p

提示时输入MySQL root用户的密码。 您提示将改变为mysql> 。

创建虚拟数据库。 在这里,我们称它为测试 ,但你可以将其命名为任何你想要的。

CREATE DATABASE test;

导入示例SQL文件。

SOURCE /etc/sphinxsearch/example.sql;

然后离开MySQL shell。

quit

现在你有一个数据库填充样本数据。 接下来,我们将定制Sphinx的配置。

第3步 - 配置Sphinx

Sphinx的配置应该是在一个名为sphinx.conf中/etc/sphinxsearch 。 配置包括那些运行必不可少的3个主要模块: 索引 ,searchd的 ,和来源 。 我们将提供一个示例配置文件供您使用,并解释每个部分,以便以后进行自定义。

首先,创建sphinx.conf文件。

sudo nano /etc/sphinxsearch/sphinx.conf

这些指数 ,searchd的 ,和块的描述如下。 然后,在这个步骤结束时,对全部sphinx.conf被包括为你复制并粘贴到文件中。

块包含源代码,用户名和密码到MySQL服务器的类型。 所述的第一列sql_query应该是唯一的ID。 SQL查询将在每个索引上运行,并将数据转储到Sphinx索引文件。 下面是每个字段和源块本身的描述。

type :数据源索引的类型。 在我们的例子,这是MySQL。 其他支持的类型包括pgsql,mssql,xmlpipe2,odbc等。sql_host :主机名MySQL的主机。 在我们的例子,这是localhost 。 这可以是域或IP地址。sql_user :用户名MySQL的登录。 在我们的例子,这是根源 。sql_pass :密码为MySQL用户。 在我们的示例中,这是根MySQL用户的密码。sql_db :存储数据的数据库的名称。 在我们的例子,这是考验 。sql_query :查询从数据库到索引那转储数据。

这是源块:

sphinx.conf的源代码块

source src1{ type = mysql #SQL settings (for ‘mysql’ and ‘pgsql’ types) sql_host = localhost sql_user = root sql_pass = password sql_db = test sql_port = 3306 # optional, default is 3306 sql_query = \\ SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \\ FROM documents sql_attr_uint = group_id sql_attr_timestamp = date_added}

索引组件包含源和存储数据的路径。

source :源块的名称。 在我们的例子,这是src1的 。path :路径保存索引。

sphinx.conf的索引块

index test1{ source = src1 path = /var/lib/sphinxsearch/data/test1 docinfo = extern}

searchd的组件包含端口和其他变量来运行Sphinx守护进程。

listen :这Sphinx守护进程运行的端口,后面的协议。 在我们的例子,这是9306:mysql41。 已知的协议是:Sphinx (SphinxAPI)和:mysql41(SphinxQL)query_log :路径保存查询日志。pid_file :到Sphinx守护进程的PID文件的路径。seamless_rotate :同时旋转海量数据预缓存的指标,防止searchd的摊位。preopen_indexes :是否强行盘前在启动时的所有索引。unlink_old :是否删除成功旋转旧的索引拷贝。

searchd块的sphinx.conf

searchd{ listen = 9312:sphinx #SphinxAPI port listen = 9306:mysql41 #SphinxQL port log = /var/log/sphinxsearch/searchd.log query_log = /var/log/sphinxsearch/query.log read_timeout = 5 max_children = 30 pid_file = /var/run/sphinxsearch/searchd.pid seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 binlog_path = /var/lib/sphinxsearch/data}

复制和粘贴的完整配置如下。 你需要下面来改变它唯一的变量是sql_pass源块,这是高亮显示的变量。

完整的sphinx.conf文件

source src1{ type = mysql sql_host = localhost sql_user = root sql_pass = your_root_mysql_password sql_db = test sql_port = 3306 sql_query = \\ SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \\ FROM documents sql_attr_uint = group_id sql_attr_timestamp = date_added}index test1{ source = src1 path = /var/lib/sphinxsearch/data/test1 docinfo = extern}searchd{ listen = 9306:mysql41 log = /var/log/sphinxsearch/searchd.log query_log = /var/log/sphinxsearch/query.log read_timeout = 5 max_children = 30 pid_file = /var/run/sphinxsearch/searchd.pid seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 binlog_path = /var/lib/sphinxsearch/data}

探索更多的配置,你可以看看在/etc/sphinxsearch/sphinx.conf.sample文件,里面有所有的变量在更详细的解释。

第4步 - 管理索引

在这一步中,我们将数据添加到Sphinx索引,并确保利用指数保持最新cron 。

首先,使用我们之前创建的配置将数据添加到索引。

sudo indexer --all

你应该得到类似下面的东西。

OutputSphinx 2.2.9-id64-release (rel22-r5006)Copyright (c) 2001-2015, Andrew AksyonoffCopyright (c) 2008-2015, Sphinx Technologies Inc (http://sphinxsearch.com)using config file \'/etc/sphinxsearch/sphinx.conf\'...indexing index \'test1\'...collected 4 docs, 0.0 MBsorted 0.0 Mhits, 100.0% donetotal 4 docs, 193 bytestotal 0.010 sec, 18552 bytes/sec, 384.50 docs/sectotal 4 reads, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avgtotal 12 writes, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg

在生产环境中,有必要保持索引为最新。 为了做到这一点,让我们创建一个cronjob。 首先,打开crontab。

crontab -e

可能会询问您要使用哪个文本编辑器。 选择你喜欢的; 在本教程中,我们使用nano 。

随后的cronjob将每小时运行一次,并使用我们之前创建的配置文件向索引添加新数据。 将其复制并粘贴到文件末尾,然后保存并关闭文件。

crontab

@hourly /usr/bin/indexer --rotate --config /etc/sphinxsearch/sphinx.conf --all

现在Sphinx已经完全设置和配置,我们可以启动服务并尝试。

第5步 - 启动Sphinx

默认情况下,Sphinx守护程序关闭。 首先,我们将改变这一行启用START=no到START=yes中/etc/default/sphinxsearch 。

sudo sed -i \'s/START=no/START=yes/g\' /etc/default/sphinxsearch

然后,使用systemctl重启Sphinx守护进程。

sudo systemctl restart sphinxsearch.service

要检查Sphinx守护程序是否正确运行,请运行。

sudo systemctl status sphinxsearch.service

你应该得到类似下面的东西。

Output● sphinxsearch.service - LSB: Fast standalone full-text SQL search engine Loaded: loaded (/etc/init.d/sphinxsearch; bad; vendor preset: enabled) Active: active (running) since Tue 2016-07-26 01:50:00 EDT; 15s ago . . .

这也将确保Sphinx守护程序即使在服务器重新启动时也启动。

第6步 - 测试

现在,一切都设置好了,让我们测试搜索功能。 使用MySQL接口连接到SphinxQL(在端口9306上)。 您提示将改变为mysql> 。

mysql -h0 -P9306

让我们搜索一个句子。

SELECT * FROM test1 WHERE MATCH(\'test document\'); SHOW META;

你应该得到类似下面的东西。

Output+------+----------+------------+| id | group_id | date_added |+------+----------+------------+| 1 | 1 | 1465979047 || 2 | 1 | 1465979047 |+------+----------+------------+2 rows in set (0.00 sec)+---------------+----------+| Variable_name | Value |+---------------+----------+| total | 2 || total_found | 2 || time | 0.000 || keyword[0] | test || docs[0] | 3 || hits[0] | 5 || keyword[1] | document || docs[1] | 2 || hits[1] | 2 |+---------------+----------+9 rows in set (0.00 sec)

在上述结果可以看出,Sphinx发现从我们的2场比赛test1索引我们的测试句子。 该SHOW META;命令显示以及在句子中每个关键字的点击。

让我们搜索一些关键字。

CALL KEYWORDS (\'test one three\', \'test1\', 1);

你应该得到类似下面的东西。

Output+------+-----------+------------+------+------+| qpos | tokenized | normalized | docs | hits |+------+-----------+------------+------+------+| 1 | test | test | 3 | 5 || 2 | one | one | 1 | 2 || 3 | three | three | 0 | 0 |+------+-----------+------------+------+------+3 rows in set (0.00 sec)

在结果上面可以看到,在test1的指数,Sphinx发现:

5个匹配在3个文档中的关键字\'test\'2在1个文档中匹配关键字“1”0匹配0个文档中的关键字\'three\'

现在你可以离开MySQL shell了。

quit

结论

在本教程中,我们向您展示了如何安装Sphinx,并使用SphinxQL和MySQL进行简单搜索。

您还可以找到官方对于PHP,Perl,Python和Ruby和Java本地SphinxAPI实现 。 如果你正在使用的NodeJS,你也可以使用该SphinxAPI包 。

通过使用Sphinx,您可以轻松地添加自定义搜索到您的网站。 有关使用Sphinx的更多信息,请访问该项目的网站 。

以上就是关于pos机服务器配置,在Ubuntu安装和配置Sphinx的知识,后面我们会继续为大家整理关于pos机服务器配置的知识,希望能够帮助到大家!

转发请带上网址:http://www.poszjia.com/news/27665.html

你可能会喜欢:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 babsan@163.com 举报,一经查实,本站将立刻删除。