如果您在mysql中有文档记录,并且您在文档中对关键字进行全文搜索,那么如何返回记录的ID,以及每个包含关键字的文档中的示例短语?
例如搜索“超人”
可能会返回两条记录......
“我什么时候可以拿起我的西装?” 超人问干洗店
“就他而言,超人没有机会”答案 0 :(得分:3)
这是你的问题的mysql解决方案
SELECT
CONCAT_WS(' ',
TRIM(SUBSTRING_INDEX(
SUBSTRING(bigstr, 1, INSTR(bigstr, 'Superman') - 1 ),
' ',
-8)
),
TRIM(SUBSTRING_INDEX(
SUBSTRING(bigstr, INSTR(bigstr, 'Superman')),
' ',
5)
)
)
FROM longstring
我刚做了样本表。因此,对于您的情况,将bigstr的任何实例更改为具有数据的列(即您的文档)。然后包含'超人'的字符串是关键字。所以改变你想要成为你要搜索的单词,它会返回前后几个单词..我只是做了-8,它将在关键字之前返回7个单词,5之后返回4之后...因为多数民众赞成你的例子看起来..但如果你把-8和5改为任何数字,它将是之前和之后的单词数量