pos機(jī)服務(wù)器配置,在Ubuntu安裝和配置Sphinx

 新聞資訊  |   2023-04-23 12:14  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)服務(wù)器配置,在Ubuntu安裝和配置Sphinx的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)服務(wù)器配置的問題,今天pos機(jī)之家(www.tjfsxbj.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!

本文目錄一覽:

1、pos機(jī)服務(wù)器配置

pos機(jī)服務(wù)器配置

Ubuntu系統(tǒng)默認(rèn)是配置有sphinx的,先檢查一下,別多此一舉。。。。。

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

一個(gè)Ubuntu 16.04服務(wù)器。sudo的一個(gè)非root用戶,您可以通過以下設(shè)置本教程 。安裝在服務(wù)器上,你可以通過下面的第2步設(shè)置在mysql 本教程 。

第1步 - 安裝Sphinx

在Ubuntu上安裝Sphinx很容易,因?yàn)樗诒镜剀浖鎯?chǔ)庫(kù)中。 使用安裝它apt-get 。不行可以運(yùn)行apt-get update

sudo apt-get install sphinxsearch

現(xiàn)在您已經(jīng)在服務(wù)器上成功安裝了Sphinx。 在啟動(dòng)Sphinx守護(hù)進(jìn)程之前,讓我們進(jìn)行配置。

第2步 - 創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)

接下來,我們將使用隨包提供的SQL文件中的示例數(shù)據(jù)設(shè)置數(shù)據(jù)庫(kù)。 這將允許我們測(cè)試Sphinx搜索以后工作。

讓我們將示例SQL文件導(dǎo)入數(shù)據(jù)庫(kù)。 首先,登錄到MySQL服務(wù)器shell。

mysql -u root -p

提示時(shí)輸入MySQL root用戶的密碼。 您提示將改變?yōu)閙ysql> 。

創(chuàng)建虛擬數(shù)據(jù)庫(kù)。 在這里,我們稱它為測(cè)試 ,但你可以將其命名為任何你想要的。

CREATE DATABASE test;

導(dǎo)入示例SQL文件。

SOURCE /etc/sphinxsearch/example.sql;

然后離開MySQL shell。

quit

現(xiàn)在你有一個(gè)數(shù)據(jù)庫(kù)填充樣本數(shù)據(jù)。 接下來,我們將定制Sphinx的配置。

第3步 - 配置Sphinx

Sphinx的配置應(yīng)該是在一個(gè)名為sphinx.conf中/etc/sphinxsearch 。 配置包括那些運(yùn)行必不可少的3個(gè)主要模塊: 索引 ,searchd的 ,和來源 。 我們將提供一個(gè)示例配置文件供您使用,并解釋每個(gè)部分,以便以后進(jìn)行自定義。

首先,創(chuàng)建sphinx.conf文件。

sudo nano /etc/sphinxsearch/sphinx.conf

這些指數(shù) ,searchd的 ,和塊的描述如下。 然后,在這個(gè)步驟結(jié)束時(shí),對(duì)全部sphinx.conf被包括為你復(fù)制并粘貼到文件中。

塊包含源代碼,用戶名和密碼到MySQL服務(wù)器的類型。 所述的第一列sql_query應(yīng)該是唯一的ID。 SQL查詢將在每個(gè)索引上運(yùn)行,并將數(shù)據(jù)轉(zhuǎn)儲(chǔ)到Sphinx索引文件。 下面是每個(gè)字段和源塊本身的描述。

type :數(shù)據(jù)源索引的類型。 在我們的例子,這是MySQL。 其他支持的類型包括pgsql,mssql,xmlpipe2,odbc等。sql_host :主機(jī)名MySQL的主機(jī)。 在我們的例子,這是localhost 。 這可以是域或IP地址。sql_user :用戶名MySQL的登錄。 在我們的例子,這是根源 。sql_pass :密碼為MySQL用戶。 在我們的示例中,這是根MySQL用戶的密碼。sql_db :存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)的名稱。 在我們的例子,這是考驗(yàn) 。sql_query :查詢從數(shù)據(jù)庫(kù)到索引那轉(zhuǎn)儲(chǔ)數(shù)據(jù)。

這是源塊:

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}

索引組件包含源和存儲(chǔ)數(shù)據(jù)的路徑。

source :源塊的名稱。 在我們的例子,這是src1的 。path :路徑保存索引。

sphinx.conf的索引塊

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

searchd的組件包含端口和其他變量來運(yùn)行Sphinx守護(hù)進(jìn)程。

listen :這Sphinx守護(hù)進(jìn)程運(yùn)行的端口,后面的協(xié)議。 在我們的例子,這是9306:mysql41。 已知的協(xié)議是:Sphinx (SphinxAPI)和:mysql41(SphinxQL)query_log :路徑保存查詢?nèi)罩?。pid_file :到Sphinx守護(hù)進(jìn)程的PID文件的路徑。seamless_rotate :同時(shí)旋轉(zhuǎn)海量數(shù)據(jù)預(yù)緩存的指標(biāo),防止searchd的攤位。preopen_indexes :是否強(qiáng)行盤前在啟動(dòng)時(shí)的所有索引。unlink_old :是否刪除成功旋轉(zhuǎn)舊的索引拷貝。

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}

復(fù)制和粘貼的完整配置如下。 你需要下面來改變它唯一的變量是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文件,里面有所有的變量在更詳細(xì)的解釋。

第4步 - 管理索引

在這一步中,我們將數(shù)據(jù)添加到Sphinx索引,并確保利用指數(shù)保持最新cron 。

首先,使用我們之前創(chuàng)建的配置將數(shù)據(jù)添加到索引。

sudo indexer --all

你應(yīng)該得到類似下面的東西。

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

在生產(chǎn)環(huán)境中,有必要保持索引為最新。 為了做到這一點(diǎn),讓我們創(chuàng)建一個(gè)cronjob。 首先,打開crontab。

crontab -e

可能會(huì)詢問您要使用哪個(gè)文本編輯器。 選擇你喜歡的; 在本教程中,我們使用nano 。

隨后的cronjob將每小時(shí)運(yùn)行一次,并使用我們之前創(chuàng)建的配置文件向索引添加新數(shù)據(jù)。 將其復(fù)制并粘貼到文件末尾,然后保存并關(guān)閉文件。

crontab

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

現(xiàn)在Sphinx已經(jīng)完全設(shè)置和配置,我們可以啟動(dòng)服務(wù)并嘗試。

第5步 - 啟動(dòng)Sphinx

默認(rèn)情況下,Sphinx守護(hù)程序關(guān)閉。 首先,我們將改變這一行啟用START=no到START=yes中/etc/default/sphinxsearch 。

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

然后,使用systemctl重啟Sphinx守護(hù)進(jìn)程。

sudo systemctl restart sphinxsearch.service

要檢查Sphinx守護(hù)程序是否正確運(yùn)行,請(qǐng)運(yùn)行。

sudo systemctl status sphinxsearch.service

你應(yīng)該得到類似下面的東西。

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守護(hù)程序即使在服務(wù)器重新啟動(dòng)時(shí)也啟動(dòng)。

第6步 - 測(cè)試

現(xiàn)在,一切都設(shè)置好了,讓我們測(cè)試搜索功能。 使用MySQL接口連接到SphinxQL(在端口9306上)。 您提示將改變?yōu)閙ysql> 。

mysql -h0 -P9306

讓我們搜索一個(gè)句子。

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

你應(yīng)該得到類似下面的東西。

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)

在上述結(jié)果可以看出,Sphinx發(fā)現(xiàn)從我們的2場(chǎng)比賽test1索引我們的測(cè)試句子。 該SHOW META;命令顯示以及在句子中每個(gè)關(guān)鍵字的點(diǎn)擊。

讓我們搜索一些關(guān)鍵字。

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

你應(yīng)該得到類似下面的東西。

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)

在結(jié)果上面可以看到,在test1的指數(shù),Sphinx發(fā)現(xiàn):

5個(gè)匹配在3個(gè)文檔中的關(guān)鍵字\'test\'2在1個(gè)文檔中匹配關(guān)鍵字“1”0匹配0個(gè)文檔中的關(guān)鍵字\'three\'

現(xiàn)在你可以離開MySQL shell了。

quit

結(jié)論

在本教程中,我們向您展示了如何安裝Sphinx,并使用SphinxQL和MySQL進(jìn)行簡(jiǎn)單搜索。

您還可以找到官方對(duì)于PHP,Perl,Python和Ruby和Java本地SphinxAPI實(shí)現(xiàn) 。 如果你正在使用的NodeJS,你也可以使用該SphinxAPI包 。

通過使用Sphinx,您可以輕松地添加自定義搜索到您的網(wǎng)站。 有關(guān)使用Sphinx的更多信息,請(qǐng)?jiān)L問該項(xiàng)目的網(wǎng)站 。

以上就是關(guān)于pos機(jī)服務(wù)器配置,在Ubuntu安裝和配置Sphinx的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)服務(wù)器配置的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)發(fā)請(qǐng)帶上網(wǎng)址:http://www.tjfsxbj.com/news/27665.html

你可能會(huì)喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。