修改Mysql表中的字符串搜索

发布于 2024-11-30 23:45:35 字数 463 浏览 0 评论 0原文

我有一个字符串查询要搜索(假设“这是我的第一个查询”作为示例)。

我还有一个由 (id, title, rating, ...) 属性组成的表。

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

但是,如果完整的文本(即“这是我的第一个查询”)不存在,那么如果我确实喜欢的话,将不会有结果。

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

接下来我想的是用较小的字符触发另一个查询。即我将触发使用搜索字符串“这是我的第一个查询”(y 被截断)进行相同的查询,依此类推,直到得到我想要的编号。结果。

但我的问题是:

  1. 这是非常昂贵的操作
  2. 我希望搜索数据按照评级值的降序排序(“测试”表中的另一个字段)

请帮我解决如何继续此操作?

I have a string query to search (assuming "this is my first query" as an example).

And I am also having a table which consists of (id, title, rating, ... ) attributes.

What I want is to find out the search results of my string query which match with "title" attribute (probable or exact both).

But what if complete text i.e. "this is my first query" is not there then there will be no results if I do like

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

What I am trying to think next is to fire another query with lesser character this time.. i.e. I will fire the same query using search string "this is my first quer" (y is truncated) and so on until I get my desired no. of results.

But my problem is:

  1. This is very costly operation
  2. I want search data to be sorted in order of descending value of rating ( another field in "test" table)

Please help me out how can I proceed with this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁把谁当真 2024-12-07 23:45:35
  1. 在此字段上添加索引并循环运行查询。我不喜欢它。
  2. 使用全文搜索 http://dev.mysql.com/doc/ mysql 中的 refman/5.1/en/fulltext-search.htm
  3. 使用独立搜索服务器,例如 Sphinx http://sphinxsearch.com/
  1. Add index on this field and run query in loop. I don't like it.
  2. Use fulltext searching http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.htm in mysql.
  3. Use standalone searching server like Sphinx http://sphinxsearch.com/
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文