在自动补全内容中加粗用户输入

Bold the user input in autocompletion stuff

本文关键字:用户 输入      更新时间:2023-09-26

只是想知道你会怎么做。

我有一个网络服务,允许我在他写用户地址时填写。当显示建议时,我希望建议标签中与用户输入匹配的部分用粗体标记包围。

我希望"匹配"是聪明的,而不仅仅是简单的/替换,因为我们使用的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为文本编制索引。我正在通过使用NGrams&然后在显示时,我根据每个键入的查询的频率对它们进行排序。Lucene/Solr可以在这里为您提供帮助。如果您使用Lucene/Solr,突出显示的内容(正如您所要求的)将默认包含在标签中,并且您还可以利用Lucene/Sorr 提供的ngram索引功能

领英工程公司最近开源了Cleo(领英排版搜索背后的开源技术):Link。

LinkedIn的精彩内容。查看您所需的巧妙匹配和突出显示内容