我必须在文本文件或大字符串中进行搜索,以检查文本是否包含一组关键字(可能是数百万)。如果它包含关键字,我必须突出显示匹配的关键字。应该采取什么方法? lucene是否为此提供了解决方案?
答案 0 :(得分:1)
您已使用Elasticsearch标记了您的问题 - 如果您愿意使用ES,我认为Percolation的突出显示可能符合您的需求。您可以使用过滤器将每个关键字注册为单独的查询,然后通过它运行每个文档或字符串。它将返回匹配的查询列表。您也可以将它与突出显示结合起来。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-percolate.html
答案 1 :(得分:-1)
您可以使用lucene ShingleFilter
你会在网上找到很多例子,这里有一个http://www.massapi.com/class/sh/ShingleFilter.html