2012-03-13 62 views
1

只是想知道如何去做。在自动填充内容中粗体显示用户输入

我有一个web服务,允许我在写他的时候完成一个用户地址。 当显示建议时,我希望建议标签中与用户输入相匹配的部分用粗体标签包围。我想要“匹配”是聪明的,而不仅仅是一个简单/替换,因为我们使用的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可以提供帮助吗?

你看到它是如何处理的?

+1

那么你想要Java还是JavaScript?一个是找到的表示的客户端*显示*,另一个是服务器端后端*查找可能的值。这里有*两个不同的*问题/问题;请关注一个。 – 2012-03-13 17:05:12

+0

@pst不,只有一个问题。在这两种情况下,我都不需要服务器端后端来查找可能的值。你也可以给我你的Python,红宝石,蝙蝠或Sh解决方案 – 2012-03-13 20:26:07

回答

1

使用NGrams使用搜索引擎或自定义数据结构为您的文本编制索引。我通过使用NGrams &索引大约10亿个查询词来实现自动推荐的东西,然后在显示时按照每种类型查询的频率对它们进行排序。 Lucene/Solr可以帮助你。如果您使用Lucene/Solr,突出显示的内容(如您所问)将默认包含在标签中,您还可以利用Lucene/Solr提供的ngram索引功能。LinkedIn最近开源的Cleo(LinkedIn的开源技术键入搜索):Link

伟大的东西由LinkedIn。按照您的需要检查巧妙的匹配和突出显示的内容

+0

谢谢你会检查 – 2012-03-13 20:28:06