【发布时间】:2012-05-22 17:35:39
【问题描述】:
在我的数据库中,我列出了 5000 行(作为关键字)。现在给定一篇文章(甚至可能是 1000 个单词),我想匹配与数据库中的关键字匹配的任何单词。例如,我在 db 中有这些记录(使用逗号提到行):
tv, tv and videos, movie, horror movie, camera, digital camera, canon digital camera
每一行都有另一个名为“URL”的列。我的输入字符串可能是这样的:
我讨厌恐怖片。佳能发布了一款新的数码相机。到目前为止,我拥有 3 台数码相机......'
从上面的字符串,我需要匹配:
- 恐怖电影针对我存储的关键字恐怖电影。但我不希望只有 movies 与 movie 匹配,因为 horror movie 关键字在这里更合适。
- 数码相机针对存储的关键字数码相机
- 数码相机...针对存储的关键字数码相机
(文章中有粗体词组,斜体词组在数据库中)
遍历数据库中的每个关键字可能是不可能的和不现实的。到目前为止,我了解到 Solr 可能很合适。但我不确定我将如何索引和查询 Solr。为了查询 Solr,我必须提供关键字。但我不知道我的关键字是什么。我只知道整篇文章。关键字可能包含 1 个或多个单词。完全随机,但我最多可以说 5 个字。
匹配后,我需要将文章中的关键字替换为下一列的(URL)值。例如,文章恐怖片中的关键字需要替换为恐怖片的URL栏。
谁能告诉我正确的路径?任何帮助表示赞赏。
提前致谢
【问题讨论】:
-
你好@PedroFillastre,你对 str_replace() 有什么作用?你能详细说明一下吗?对于字符串替换,我需要确定我的关键字,这是我现在最大的挑战。
-
您可以将所有关键字和所有链接中的另一个组成一个数组php.net/manual/en/function.str-replace.php
-
那么我将如何做以下事情: 1. 将 恐怖电影 与 恐怖电影 匹配。 2. 匹配恐怖片而不匹配电影?
-
@HungryCoder 检查是否在数组中??? -> php.net/manual/en/function.in-array.php
标签: php algorithm wordpress solr replace