我试图选择包含最多匹配项的前3个字符串。
我将像这样解释它:
假设我们有以下关键字:“ pc,programming,php,java”
和以下句子:
a[0]="what is java??"<br>
a[1]="I love playing and programming on pc"<br>
a[2]="I'm good at programming php and java"<br>
a[3]="I'm programming php and java on my pc"<br>
因此,仅必须选择最后3个字符串,因为它们是包含最多匹配项的前3个字符串。
如何在Java中做到这一点???
如果您的数据集很小,并且您只关心完全匹配,则可以执行以下操作:
循环遍历每个句子,对每个关键字执行indexOf检查。如果返回的不是-1,则增加该句子的计数器。对每个关键字重复此操作。最后找到具有最高计数器的3个句子。
这种方法将遇到各种问题,包括以下内容:
理想情况下,您将使用像Lucene / Solr / ElasticSearch之类的全文引擎,并为您完成所有繁重的工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句