当前位置:编程学习 > JAVA >>

lucene分布式搜索如何分页?

大概情况是这样的:
有多台服务器,每台服务器上有多个文件,然后各个服务器建立索引。
搜索的时候,要搜到每台服务器的东西。
一台的话好办,search之后得到topdocs,再根据start end参数来取得结果。或者用searchafter。
但是多台的话就不知道该怎么办了。 --------------------编程问答-------------------- 不知道你使用多台服务器是不是为了负载均衡,如果是,每个服务器的索引内容应该不同吧,根据请求内容做个转发,然后返回结果。个人意见。 --------------------编程问答--------------------
引用 1 楼  的回复:
不知道你使用多台服务器是不是为了负载均衡,如果是,每个服务器的索引内容应该不同吧,根据请求内容做个转发,然后返回结果。个人意见。

还请说的详细一点,关键问题在于处理分布式的分页。如果一下得到所有的查询结果,在数据量特别大的时候显然是不可能的,而要分页的话,关键在于如何确定分发请求时,如何确定分页所需的参数。
如果每台机器的返回值取的相同,那么可以考虑每台机器的start根据ip哈希到一个map中并保存在session中,可是如果要考虑服务器数量的话,就麻烦了。
如果再考虑结果重排序,就更麻烦了。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,