我正在使用solr在网页(ASP.NET MVC)中实现自动建议,并且已经了解有很多方法可以做到这一点,包括:
jQuery Autocomplete,Suggester,facets或NGramFilterFactory。
哪一个是最快用于自动建议的?
关于此的任何好消息?
答案 0 :(得分:0)
您应该在https://github.com/evolvingweb/ajax-solr处好好看看'AJAX Solr'。
AJAX Solr具有自动完成小部件等功能。演示网站 - http://evolvingweb.github.io/ajax-solr/examples/reuters/index.html。
答案 1 :(得分:0)
以下是免责声明:
'最快'是一个非常模糊的术语,并扩展到更广泛的范围,即使用的浏览器,页面权重,网络等。如果需要,这些需要在搜索实现之外进行优化。
我会选择直接实施,然后根据效果统计数据对其进行优化
好的,现在是高层实施:
1)使用具有NGramTokenizerFactory
标记生成器的字段创建Solr索引。
- 减少聊天,保持NGram的minLength为2,并使用minLength =2
2)根据使用的技术,您可以通过应用程序路由搜索请求,也可以直接点击Solr。直接击中Solr可能会更快(如前所述,参考AjaxSolr)。
3)使用像Jquery-ui这样的东西来实现自动提供的实现,并以对Ajr的ajax请求作为支持。
以下是几个参考实现:
注意有类似的实现适用于实时网站,所以我很想尝试一下,看看是否仍然存在瓶颈,并且不想做任何过早的优化。
答案 2 :(得分:0)
' AJAX Solr'自动建议有局限性,因为它只提供单词级别的建议。在内部,它使用分面来生成它们。
但是SOLR提供了不同的建议,我们可以利用这些建议来生成智能自动建议(单词/短语) 查看此博客文章了解更多信息。 http://lucidworks.com/blog/solr-suggester/
为了实现,您可以使用建议器(FST +分析中缀)和jQuery自动完成的组合。