我目前正在使用Lucene.我的要求就像facebook搜索框.用户搜索人和朋友.但在我的要求中,用户有隐私设置,如姓名,位置,电子邮件地址,每个人或只有朋友可见.他可以向朋友和社区的其他成员展示和隐藏这些字段.
我已根据姓名,位置和电子邮件地址实施了简单搜索.但现在我在隐私设置的基础上修改搜索.
这是我的情景 ..
用户A具有隐私设置:
名称仅向朋友显示
电子邮件显示给每个人
位置不会显示给任何人.
如果用户X在搜索框中键入用户A的位置,则它不应该在结果中.但是,如果用户X 在搜索框中键入用户A的名称,则应显示该用户,因为用户A没有限制名称,并且在隐私设置中他的朋友可以看到它.
你能指导我一下这个方法吗?
如果我没有明确写出我的要求,请告诉我.
我已经分析了以下方法,
1 - IndexSearcher的解释方法(它将达到整体性能)
2-探索过滤器但是得不到多少
我的方法:
在名称的基础上
获取resultSet根据位置
获取resultSet在电子邮件地址的基础上获取resultSet
循环每个3结果集并应用与隐私设置相关的条件,并根据隐私设置排除项目.并最终合并所有3个结果集.
如果还有其他办法吗?请与我分享.谢谢.