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