用户特定Lucene搜索
我不认为这是一个非常模糊的Lucene问题,但不知何故,我似乎无法找到一个很好的解决方案。我将举一个例子 假设我正在建立一个新闻文章网站。注册用户可以为他们感兴趣的文章添加书签。我想让用户只搜索他/她收藏的文章。举个例子,我们还假设一个用户可以为数千篇文章添加书签,而我们的数据库中有数十万用户。如何为这个问题构建一个可扩展的解决方案用户特定Lucene搜索,lucene,Lucene,我不认为这是一个非常模糊的Lucene问题,但不知何故,我似乎无法找到一个很好的解决方案。我将举一个例子 假设我正在建立一个新闻文章网站。注册用户可以为他们感兴趣的文章添加书签。我想让用户只搜索他/她收藏的文章。举个例子,我们还假设一个用户可以为数千篇文章添加书签,而我们的数据库中有数十万用户。如何为这个问题构建一个可扩展的解决方案 非常感谢 这是一个非常典型的Lucene问题,因为它不支持连接。更具体地说,没有一流的支持,你必须找到解决办法。我可以提出一些建议: 您可以拥有一个数据库,其中包含
非常感谢 这是一个非常典型的Lucene问题,因为它不支持连接。更具体地说,没有一流的支持,你必须找到解决办法。我可以提出一些建议:
用户
、文章
和书签
表(后者将具有指向前两个的外键)。你也可以用Lucene索引文章。在对文章进行搜索时,您可以编写一个Lucene过滤器
,该过滤器将排除当前用户未添加书签的所有文章我个人更喜欢选项#1,因为这是经典的关系结构,数据库正是为此目的而设计的。使用选项#2,当用户被删除时,您必须同时修改用户存储和Lucene索引。谢谢,Mindas。如果我在一个过滤器中放入数千个,甚至数万个ID,这会是一个问题吗?如果你的过滤器真的很快的话就不会了。请记住,每次搜索都必须通过过滤器才能检查每个文档的合格性。所以他是你的朋友。