我有一个关于书籍的数据集,每本书都可以是一种或多种语言。每个用户都注册为具有一种或多种语言。
当用户搜索书籍时,我只想返回他们理解所有语言的书籍。
例如,系统中有以下两本书:
Book A: English, French, German
Book B: English, Greek
如果 John 被注册为会英语、德语、法语和意大利语,那么他的查询结果不应该包括 Book B。
我的系统目前是使用Apache Solr编写的,我最终编写了一个插件来执行子集操作(如果记录的语言是用户语言的子集,则记录匹配,其中用户的语言在询问)。
但是,我想过渡到Elasticsearch后端。然而,这种特殊的子集行为似乎不是核心过滤器包的一部分。我错过了什么,还是我应该看看写一个类似的插件/自定义过滤器?