2017-05-17 79 views
0

目前正在使用超過12 GB /月MySQL數據的內部搜索引擎。將MySQL轉換爲Sphinx搜索平臺

我們目前有兩張表,練習處方和練習信息。

這兩個表格都包含一個專欄,練習編號,用它們的處方信息標識練習信息。

我想從MySQL搜索系統遷移到獅身人面像搜索。

我遇到的問題是練習編號的格式是STR:NUM:NUM。

Sphinx Search認爲這是一個無效ID或空ID格式,ID只需要NUM。

我們當前ID的示例是YV0091,它將在兩個表中都有相應的數據。

由於ID是我們行業中的標準ID,因此無法更改或操縱該ID。

我該怎麼做才能解決這個問題?

回答

0

那麼文檔id本身,在效果Sphinxes的主鍵'確實需要是一個簡單的整數。但它不需要需要來匹配數據庫中的實際列。 (有點像innodb,如果沒有在整數主鍵,它會在內部創建一個'rowid')

唉sphinx沒有'自動增量'風格的方式分配id,所以需要自己設計。例如使用mysql用戶變量...

sql_query_pre = SET @rowid:=1 
sql_query = SELECT @rowid:[email protected]+1 as id, practice_id, name, ... 
sql_attr_string = practice_id 

...還包括把你的做法ID作爲屬性。這意味着仍然可以在查詢中獲得它,例如,而不是在sphinxql中使用SELECT id FROM ...,而只能執行SELECT practice_id FROM ...

+0

完美,謝謝你,這就是我需要知道的! –