我的问题是我想从数据库中选择一行,与搜索文本最相似。
$string = "I want to buy a new notebook";
在DB中我有例如:
1st row| keywords: buy notebook | message: okay i will help u |
2nd row| keywords: sell notebook | message: okay i will help u |
3rd row| keywords: notebook exchange | message: okay i will help u |
结果将是第一行,因为它包含笔记本甚至购买,并且没有包含仅笔记本的所有行。
我希望你明白我想要的东西。
感谢。
答案 0 :(得分:0)
您可以使用全文搜索...可能您可以获得解决方案。
MySQL服务器中的全文搜索允许用户运行全文查询 对MySQL表中基于字符的数据。你必须创建一个 在运行全文查询之前,表上的全文索引 表
SELECT * FROM your_table_name WHERE MATCH(keywords,message) AGAINST ('I want to buy a new notebook' IN NATURAL LANGUAGE MODE);
请阅读此文档 - http://www.w3resource.com/mysql/mysql-full-text-search-functions.php
答案 1 :(得分:0)
我是否可能想要搜索与单词的一部分最相似的行?例如:
C = repmat(A', 1, size(B, 2)) + B
但在DB中我只有
$string = "Basicly i am playing a game."
即使我只有字符串"基本上"没有"基本"?
感谢。