从网页中查找相关关键字

Finding relevant keyword from a webpage

本文关键字:关键字 查找 网页      更新时间:2023-09-26
  • 在一方面,我有一个Java CMS,它提供了一组关键字
  • 另一方面,我有一个JavaScript Bookmarklet来策划网页

有没有一种聪明的方法可以将我的关键词集与网页内容进行交叉/匹配?

John Resign在一些文章中解释了如何在字典中压缩然后搜索术语,但这似乎真的很复杂。

事实上,我正在寻找一种聪明的Java或JavaScript算法来有效地匹配文本中的字符串集。

我的问题与此非常接近:在小文本上进行有效搜索

但是,

  • 我想在1条文本上做,而不是在文本数据库中
  • 使用lucene进行索引非常有效,但我不知道如何将索引项与所有关键字有效匹配

您可以像这样使用java:

Set<String> keywords = new TreeSet<String>(Arrays.asList("keyword1", "keyword2"));
String content = "your doc here with keyword1 etc";
Set<String> contentWords = new TreeSet<String>(Arrays.asList(content.split(" ")));
contentWords.retainAll(keywords); 
// now contentWords contains only words from keywords, in this case just "keyword1"

如果您想从而不是关键字的内容中获取所有单词,请使用以下内容:

contentWords.removeAll(keywords);

使用TreeSet应该会使它表现得很好。

为了便于说明,对编译和运行的这段代码进行了简化。你必须从数据库等加载你的关键词,并从任何地方加载你的内容。

我们已经基于Lucene索引集进行了一些概念验证。

  • 它处理所有语言/文本问题
  • 它足够快

但一个好的答案需要大量的相关内容。所以结果有时很奇怪。而且是服务器端。。。