只是想知道你会怎么做。
我有一个网络服务,允许我在写作时填写用户地址。 当显示建议时,我希望建议标签中与用户输入匹配的部分用粗体标签包围。
我希望“匹配”是聪明的,而不仅仅是简单/替换,因为我们使用的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可以提供帮助吗?
你看到它是如何处理的吗?
答案 0 :(得分:1)
使用搜索引擎或自定义数据结构使用NGrams索引文本。我正在通过使用NGrams&amp; amp ;;索引大约10亿个查询词来实现自动推荐内容。然后在显示时我按照每个类型查询的频率对它们进行排序。 Lucene / Solr可以在这里帮助你。默认情况下,如果您使用Lucene / Solr,则突出显示内容(如您所知)将包含在标记中,您还可以利用Lucene / Solr提供的ngram索引功能
LinkedIn工程公司最近公开采购了Cleo(LinkedIn&#39;}类型搜索背后的开源技术:Link。
LinkedIn的好东西。根据需要查看聪明的匹配和突出显示的内容