修改了Mysql表的字符串搜索


Modified string search in Mysql Table

我有一个字符串查询搜索(假设"这是我的第一个查询"为例)。

我也有一个表,其中包含(id, title, rating,…)属性。

我想要的是找出与"title"属性匹配的字符串查询的搜索结果(可能或确切两者)。

但是如果是完整的文本呢?如果没有"this is my first query",那么如果我输入like,就不会有任何结果

SELECT * FROM test WHERE title LIKE '%$query%';

接下来我想的是这次发射另一个字符较小的查询。也就是说,我将使用搜索字符串"这是我的第一个quer"(y被截断)来触发相同的查询,等等,直到我得到我想要的no。结果。

但我的问题是:

  1. 这是非常昂贵的操作
  2. 我希望搜索数据按等级降序排序("test"表中的另一个字段)

请告诉我该怎么做?

  1. 在此字段上添加索引并在循环中运行查询。我不喜欢它。
  2. 在mysql中使用全文搜索http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.htm使用独立的搜索服务器,如Sphinx http://sphinxsearch.com/