只是想知道你会怎么做。
我有一个webservice,允许我在他写的时候填写一个用户地址。
显示建议时,我希望建议标签中与用户输入匹配的部分用粗体标记包围。
我希望“匹配”是聪明的,而不仅仅是一个简单的/替换,因为我们使用的WS也很聪明,但我没有这段代码)。
例如:

Input: 3 OxFôr sTrE
Ws result: 3 Oxford Street
Formatted: <b>3 Oxford Stre</b>et
Formatted: [bold]3 Oxford Stre[/bold]et

我可以用JS或Java来实现。
我宁愿用JS来做,但用Java也许Lucene能帮上忙?
你知道怎么处理吗?

最佳答案

使用NGrams使用搜索引擎或自定义数据结构索引文本我通过使用NGCK索引大约10亿个查询词来实现自动推荐,然后在显示时按每个类型查询的频率对它们进行排序。lucene/solr可以帮你。如果你使用Lucene,默认情况下(如你所要求的)高亮显示的标签将被封闭在标签中,你也可以利用Lucene提供的索引特性。
LinkedIn Engineering最近开源了Cleo(LinkedIn typeahead搜索背后的开源技术):Link
LinkedIn的好东西。查看你想要的巧妙匹配和突出显示的内容

09-28 06:21