2013-03-19 117 views
2

目前我使用的是SELECT id FROM table WHERE text LIKE '%{$keyword}%';,它只是起作用,但我想知道如何在关键字前后显示几个周围的单词。请参阅更好地理解的例子:搜索关键字并检索全文

关键字:

音乐

文本(MySQL中的文本字段):

温柔的怜悯是1983年美国戏剧电影。罗伯特杜瓦尔(照片)扮演麦克斯莱奇,一个正在恢复的酒精国家音乐歌手谁试图通过他与一个年轻的寡妇和她的儿子在德克萨斯农村的关系转过身。 Duvall在电影中演唱了自己的歌曲,在全州开了超过600英里(966公里)的录音带,录制当地口音,并在国家音乐乐队中担任角色。他和导演布鲁斯·贝雷斯福德在制作过程中一再发生冲突,一度促使贝雷斯福德走出舞台,据报道考虑退出。

和检索这样的:

  • ...扮演Mac的爬犁,一个恢复的酒国音乐歌手谁试图把他的生活......
  • ...磁带记录本地口音并在国内玩乐队乐队为角色做准备。 ...

最后,我使用PHP和MySQL。

回答

1

您可以通过两种方式完成此操作:

1st。创建mysql函数(http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html),它将处理全文并生成切割句子。

2nd。在php中获取全文并处理文本以生成切割句子。

在这两种方式中,您都必须通过自定义功能来完成此操作。

我更喜欢第二种方式,因为php文件中的代码在将来很容易支持。