是否有一种巧妙的方法可以将我的关键字组与网页内容进行交叉/匹配?
John Resign解释in some articles如何在词典中压缩然后搜索但看起来真的很复杂。
事实上,我正在寻找一种聪明的Java或JavaScript算法来有效地匹配文本中的字符串集。
我的问题非常接近这个问题: Effective search on a small text
但是,
答案 0 :(得分:0)
您可以像这样使用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
可以让它表现得非常好。
这段编译和运行的代码已经过简化,仅供参考。您必须从数据库等加载关键字并从其他任何地方加载您的内容。
答案 1 :(得分:0)
我们已经基于Lucene索引Set进行了一些概念验证。
但是一个好的答案需要大量的相关内容。所以结果有时很奇怪。它是服务器端......