将MySQL转换为Sphinx搜索平台

时间:2017-05-17 14:13:26

标签: mysql sphinx

目前正在开发内部搜索引擎,每月超过12 GB的MySQL数据。

我们目前有两张表,练习处方和练习信息。

两个表都包含一个列,练习号,用于识别练习信息及其处方信息。

我正在尝试将系统从MySQL搜索迁移到Sphinx Search。

我遇到的问题是练习号码的格式为STR:NUM:NUM。

Sphinx Search表示这是一种无效或无效的ID格式,ID只需要为NUM。

我们当前ID的一个示例是YV0091,它将在两个表中都有相应的数据。

由于ID是我们行业中的标准ID,因此无法更改或操纵ID。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

文档ID本身,在效果中,Sphinxes的“主键”确实需要是一个简单的整数。但它并不需要来匹配数据库中的实际列。 (有点像innodb,如果没有整数主键,它会在内部创建'rowid')

唉,狮身人面像没有“自动增量”式的方式来分配id,所以需要自己设计。例如,使用mysql用户变量...

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

...还包括将您的练习ID设为属性。这意味着仍然可以在查询中获取它,例如,而不是在sphinxql中使用SELECT id FROM ...,而只需执行SELECT practice_id FROM ...