我需要构建一个搜索功能,例如StackOverflow's Users page上的搜索功能,用户总是按其分数排序,但可以通过键入名称的一部分进行过滤。
我的应用程序是使用NoSQL数据库在Java中构建的。您能否建议适用于此实施的工具。
如果我检索与查询匹配的所有用户名,然后根据用户的每次请求在应用程序级别按分数对其进行排序,那会不会很好?然后会有很多不必要的检索,&可能也是性能问题。
是否有一些更好的方法可能是通过维护已排序的列表(按名称和声誉排序)?
另外,如果有人可以说出SO实际上是如何做到这一点的话,那太棒了?
答案 0 :(得分:1)
答案 1 :(得分:1)
试试datatables。但是你需要处理UI部分。
答案 2 :(得分:1)
我同意aishwarya,使用Apache Lucene是个好主意 它提供了许多功能,例如:通配符,现场搜索,术语/字段/文档权重,查找类似,拼写检查,多语言搜索等等