Php 确定句子是否相似
我有上百个健身目标。下面是一个子集Php 确定句子是否相似,php,mysql,Php,Mysql,我有上百个健身目标。下面是一个子集 “我想减掉10磅。” “在6分钟内跑完一英里。” “在7分钟内跑一英里。” “准备好泳衣,减掉5磅。” “能跑一英里不到七分钟。” 我如何找到类似健身目标的比赛?例如#1和#4都想减肥#3和#5都想在7分钟内跑一英里。此外,2、3和5都想跑得更快。我如何有效地搜索此健身目标表以确定哪些目标相似?目标存储在mysql表中。我正在寻找用PHP实现的方法。您可以标记一些关键字,如“weight”、“lbs”、“lbs”,稍后管理员可以检查这些关键字。您可以通过以下两
我如何找到类似健身目标的比赛?例如#1和#4都想减肥#3和#5都想在7分钟内跑一英里。此外,2、3和5都想跑得更快。我如何有效地搜索此健身目标表以确定哪些目标相似?目标存储在mysql表中。我正在寻找用PHP实现的方法。您可以标记一些关键字,如“weight”、“lbs”、“lbs”,稍后管理员可以检查这些关键字。您可以通过以下两种方式之一来完成此操作: 在PHP内部,您可以使用函数。然而,这是一种非常普通的方法 更好的方法是使用。问题在于,您无法比较数据库中的两行,而是将文本字符串与表中的数据进行比较: 示例基于:
mysql> CREATE TABLE articles (
-> id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-> title VARCHAR(200),
-> body TEXT,
-> FULLTEXT (title,body)
-> ) ENGINE=MyISAM;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO articles (title,body) VALUES
-> ('MySQL Tutorial','DBMS stands for DataBase ...'),
-> ('How To Use MySQL Well','After you went through a ...'),
-> ('Optimizing MySQL','In this tutorial we will show ...'),
-> ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
-> ('MySQL vs. YourSQL','In the following database comparison ...'),
-> ('MySQL Security','When configured properly, MySQL ...');
Query OK, 6 rows affected (0.00 sec)
mysql> SELECT id, MATCH (title,body) AGAINST ('Tutorial')
-> FROM articles;
+----+-----------------------------------------+
| id | MATCH (title,body) AGAINST ('Tutorial') |
+----+-----------------------------------------+
| 1 | 0.65545833110809 |
| 2 | 0 |
| 3 | 0.66266459226608 |
| 4 | 0 |
| 5 | 0 |
| 6 | 0 |
+----+-----------------------------------------+
6 rows in set (0.00 sec)
这将根据最佳匹配对结果进行排序
您可以很好地使用它从数据库中获取一行,然后使用它来查找最匹配的行。这只是我的猜测,但您可以有多个布尔值
runFaster=true;
loseWeight=true;
specificDistance=true; //Do they have a specific distance in mind?
和一些定量值:
weightLoss=3; //lbs
speedIncrease=1 //km/h
runDistance=7 //miles
诸如此类的问题?对于一个如此宽泛的问题来说,这个问题实在太宽泛了,但我要问——这些目标都是用户定义的吗?如果你创建了用户可以填写的模板(例如“我想在$y中做$x”),那会容易得多。这是否可行?将这些作为每个健身目标的列。比赛越多越好!