sphinx 联合查询 实例
记得以前sphinx是不支持联合查询的,第一次接触sphinx,好像2010年初的时候,当时写过一篇关于sphinx安装的文章。 sphinx mmseg mysql 中文分词 ,下面举例说明,sphinx的联合查询用法。 一,添加二张测试表和数据 1,users表和数据 mysql desc users;+------
记得以前sphinx是不支持联合查询的,第一次接触sphinx,好像2010年初的时候,当时写过一篇关于sphinx安装的文章。sphinx mmseg mysql 中文分词,下面举例说明,sphinx的联合查询用法。
一,添加二张测试表和数据
1,users表和数据
mysql> desc users; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | user_id | int(11) | NO | PRI | NULL | auto_increment | | username | varchar(20) | NO | | NULL | | +----------+-------------+------+-----+---------+----------------+ 2 rows in set (0.00 sec) mysql> select * from users; +------------+------------+ | user_id | username | +------------+------------+ | 1311895262 | 张三 | | 1311895263 | tank张二 | | 1311895264 | tank张一 | | 1311895265 | tank张 | +------------+------------+ 4 rows in set (0.00 sec)
?2,orders表和数据
mysql> desc orders; +--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | user_id | int(11) | NO | | NULL | | | create_time | datetime | NO | | NULL | | | product_name | varchar(20) | NO | | NULL | | | summary | text | NO | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec) mysql> select * from orders; +----+------------+---------------------+----------------+--------------+ | id | user_id | create_time | product_name | summary | +----+------------+---------------------+----------------+--------------+ | 9 | 1311895262 | 2014-08-01 00:24:54 | tank is 坦克 | 技术总监 | | 10 | 1311895263 | 2014-08-01 00:24:54 | tank is 坦克 | 技术经理 | | 11 | 1311895264 | 2014-08-01 00:24:54 | tank is 坦克 | DNB经理 | | 12 | 1311895265 | 2014-08-01 00:24:54 | tank is 坦克 | 运维总监 | +----+------------+---------------------+----------------+--------------+ 4 rows in set (0.00 sec)
二,配置sphinx.conf
source order { type = mysql sql_host = localhost sql_user = root sql_pass = sql_db = test sql_query_pre = SET NAMES utf8 sql_query = \ SELECT a.id, a.user_id,b.username, UNIX_TIMESTAMP(a.create_time) AS create_time, a.product_name, a.summary \ FROM orders a left join users b on a.user_id = b.user_id sql_attr_uint = user_id sql_field_string = username sql_field_string = product_name sql_attr_timestamp = create_time sql_ranged_throttle = 0 sql_query_info = SELECT * FROM orders WHERE id=$id } index myorder { source = order path = /usr/local/sphinx/var/data/myorder docinfo = extern mlock = 0 morphology = none min_word_len = 1 charset_dictpath = /usr/local/mmseg3/etc/ charset_type = zh_cn.utf-8 ngram_len = 0 html_strip = 0 }
注意:在这里a.user_id = b.user_id,等号二边一定要有空格,不然就会报错。
三,重启sphinx
# pkill searchd # /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --all # /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf
四,测试sphinx
[root@localhost etc]# mysql -h 127.0.0.1 -P 9306 //登录sphinx,9306端口,不是真实的mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 1.11-id64-dev (r2540) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> select * from myorder where match('张'); +------+--------+------------+------------+-------------+----------------+ | id | weight | user_id | username | create_time | product_name | +------+--------+------------+------------+-------------+----------------+ | 9 | 1304 | 1311895262 | 张三 | 1406823894 | tank is 坦克 | | 10 | 1304 | 1311895263 | tank张二 | 1406823894 | tank is 坦克 | | 11 | 1304 | 1311895264 | tank张一 | 1406823894 | tank is 坦克 | | 12 | 1304 | 1311895265 | tank张 | 1406823894 | tank is 坦克 | +------+--------+------------+------------+-------------+----------------+ 4 rows in set (0.01 sec) mysql> select * from myorder where match('张三'); +------+--------+------------+----------+-------------+----------------+ | id | weight | user_id | username | create_time | product_name | +------+--------+------------+----------+-------------+----------------+ | 9 | 2500 | 1311895262 | 张三 | 1406823894 | tank is 坦克 | +------+--------+------------+----------+-------------+----------------+ 1 row in set (0.00 sec)
本文出自:http://blog.51yip.com, 原文地址:http://blog.51yip.com/mysql/1658.html, 感谢原作者分享。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

12306訂票app下載最新版是一款大家非常滿意的出行購票軟體,想去哪裡就去那裡非常方便,軟體內提供的票源非常多,只需要通過實名認證就能在線購票,所有用戶的出行車票機票都可以輕鬆買到,享受不同的優惠折扣。還能提前開啟預約搶票,預約飯店、專車接送都是可以的,有了它想去哪裡就去那裡一鍵購票,出行更加簡單方便,讓大家的出行體驗更舒服,現在小編在線詳細為12306用戶帶來查看歷史購票記錄的方法。 1.打開鐵路12306,點擊右下角我的,點擊我的訂單 2.在訂單頁面點擊已支付。 3.在已支付頁

學信網如何查詢自己的學歷?在學信網中是可以查詢到自己的學歷,很多用戶都不知道如何在學信網中查詢到自己的學歷,接下來就是小編為用戶帶來的學信網查詢自己學歷方法圖文教程,感興趣的用戶快來一起看看吧!學信網使用教程學信網如何查詢自己的學歷一、學信網入口:https://www.chsi.com.cn/二、網站查詢:第一步:點選上方學信網位址,進入首頁點選【學歷查詢】;第二步:在最新的網頁中點選如下圖箭頭所示的【查詢】;第三步:之後在新頁面點選【的登陸學信檔案】;第四步:在登陸頁面輸入資料點選【登陸】;

MySQL與PL/SQL是兩種不同的資料庫管理系統,分別代表了關係型資料庫和過程化語言的特性。本文將比較MySQL和PL/SQL的異同點,並附帶具體的程式碼範例進行說明。 MySQL是一種流行的關聯式資料庫管理系統,採用結構化查詢語言(SQL)來管理和操作資料庫。而PL/SQL是Oracle資料庫特有的過程化語言,用於編寫預存程序、觸發器和函數等資料庫物件。相同

標題:如何使用Oracle查詢表格是否被鎖定?在Oracle資料庫中,表鎖是指當一個事務正在對錶執行寫入操作時,其他事務想要對該表執行寫入操作或對表進行結構改變(如增加列、刪除行等)時會被阻塞。在實際開發過程中,我們經常需要查詢表格是否被鎖,以便更好地排除和處理相關問題。本文將介紹如何使用Oracle語句查詢表格是否被鎖,並給出具體的程式碼範例。要查詢表是否被鎖,我們

使用蘋果手機想要查詢啟動日期,最好的方法是透過手機中的序號來查詢,也可以透過存取蘋果的官網來進行查詢,透過連接電腦查詢,下載第三方軟體查詢。蘋果手機怎麼查詢啟動日期答:序號查詢,蘋果官網查詢,電腦查詢,第三方軟體查詢1、用戶最好的方式就是知道自己手機的序號,開啟設定通用關於本機就可以看到序號。 2.使用序號不僅可以知道自己手機的啟動日期,還可以查看手機版本,手機產地,手機出廠日期等。 3.用戶訪問蘋果的官網找到技術支持,找到頁面底部的服務和維修欄目,裡面查看iPhone的激活信息。 4.用戶

論壇是網路上非常常見的網站形式之一,它為使用者提供了一個分享資訊、交流討論的平台。而Discuz是一款常用的論壇程序,相信很多站長都已經非常熟悉了。在進行Discuz論壇的開發和管理過程中,經常需要查詢資料庫中的資料來進行分析或處理。在這篇文章中,我們將分享一些查詢Discuz資料庫位置的技巧,並提供具體的程式碼範例。首先,我們需要了解Discuz的資料庫結構

Oracle實例數量與資料庫效能關係Oracle資料庫是業界知名的關係型資料庫管理系統之一,廣泛應用於企業級的資料儲存與管理。在Oracle資料庫中,實例是一個非常重要的概念。實例是指Oracle資料庫在記憶體中的運作環境,每個實例都有獨立的記憶體結構和後台進程,用於處理使用者的請求和管理資料庫的操作。實例數量對於Oracle資料庫的效能和穩定性有著重要的影響。

查詢BitTorrent幣(BTT)最新價格BTT是TRON區塊鏈上的加密貨幣,用於獎勵BitTorrent網路用戶分享和下載檔案。尋找BTT最新價格的方法如下:選擇一個可靠的價格查詢網站或應用程式。一些常用的價格查詢網站包括:CoinMarketCap:https://coinmarketcap.com/Coindesk:https://www.coindesk.com/幣安:https://www.binance.com/在網站或應用程式中搜尋BTT。查看BTT的最新價格。注意:加密貨幣價格
