繁体   English   中英

Apache Solr模式配置

[英]Apache Solr Schema Configuration

因此,我对Apache Solr并不陌生,现在我确实知道如何处理。 我来自OO编程背景,因此首先让我解释一下对象关系:

以一个名为Movie的对象为例,它具有两个文本字段,标题和描述。 电影可以由用户与标签相关联。 这些标签是特定于用户的,其他用户看不见。

因此,示例电影可能具有以下内容:

“电影标题”,“电影说明” User1Tags:“ tag1”,“ tag2” User2Tags:“ action”,“ somethingElse”

我需要设计一个架构/ solr查询,以便当user1搜索影片时,如果他们键入“ action”,则上面的影片将不会显示。 这是因为user2将“动作”与“电影标题”而不是user1相关联。

我考虑过的事情:

1)过滤器查询-这些查询似乎不起作用,因为一旦建立了每部电影的索引,我就看不到如何避免将所有用户标签都绑定到电影的索引。

2)电影与标签关联的独立核心,每次搜索仅执行两个查询。 我知道我可以用这种方法来做,但是对我来说,再做一个核心似乎太过分了。

我还有其他选择吗? 还是有办法实现1? 还是最简单的选择就是选择2,这就是知道自己在Solr上做什么的人会怎么做?

有多少用户?

如果不是很多,则可以具有动态字段tag_user1,tag_user2并修改eDismax字段列表以使其匹配或不匹配,例如通过使用字段名称别名。

另一个选项是在值前加上用户ID。 因此标签字段将具有:user1_tag1,user1_tag2,user2_action,user2_somethingElse。 然后,在查询链中需要一个自定义过滤器,该过滤器将为搜索令牌加上请求的用户前缀,因此只有前缀值会匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM