在我的数据库中我列出了5000行(作为关键字)。现在给一篇文章(甚至可能是1000个单词),我希望匹配任何与数据库中的关键字匹配的单词。例如,我在db中有这些记录(使用逗号提到行):
tv, tv and videos, movie, horror movie, camera, digital camera, canon digital camera
每一行都有另一个名为“URL”的列。我的输入字符串可能是:
我讨厌恐怖电影。佳能发布了一款新的数码相机。到目前为止,我拥有3台数码相机......'
从上面的字符串中,我需要匹配:
(文章中存在粗体短语,斜体短语存在于数据库中)
迭代数据库中的每个关键字可能是不可能的,也是不切实际的。到目前为止,我已经学会了索尔可能是一个合适的人。但我不确定我将如何索引&查询Solr。为了查询Solr,我要提供关键字。但我不知道我的关键词是什么。我只知道整篇文章。关键字可以包含1个或多个单词。完全随机,但我可以说最多5个字。
匹配后,我需要将文章中的关键字替换为下一列的(URL)值。例如,文章恐怖电影中的关键字需要替换为恐怖电影的网址列。
任何人都可以用正确的道路启发我吗?任何帮助表示赞赏。
提前致谢
答案 0 :(得分:1)
我认为您的问题实际上有一些部分,但我假设您基本上想要向您的网站提交一篇文章,然后您的网站后端将处理本文的过程并用粗体字和网址替换所有关键字?
鉴于你想操纵你的文章并从你的数据库中注入数据,也许原始的php解决方案符合要求(但我必须承认我对Solr / Lucene提供建议不够熟悉)。您显然必须进行一些基准测试,但是5000行数据并不是在这类系统中处理的无理数据量,因为我假设您不会每隔几秒甚至几分钟提交文章?
因此您需要:
关键字的另外两点是:
对于相当长的啰嗦/含糊不清的答案感到抱歉,但我认为在寻找解决方案之前了解项目的全部范围非常重要。你可能已经有了这些细节,但从你的问题我认为有太多的变量来提供完整的答案。如果您需要,我很乐意为上述任何一点提供一些代码示例/进一步解释?
编辑:在您引用识别关键字时,有点困惑,不是数据库中已有字词的关键字?或者您是否尝试从提交的文章中有机地创建关键字数据库,因此您的系统将收集关键字的文章,同时还搜索和替换数据库中当前存储的关键字?