想象一下,我正在构建一个主题标签搜索。我的主要索引类型称为 Post,它有一个 Hashtag 项目列表,标记为 IndexedEmbedded。另外,每个帖子都有一个评论对象列表,每个评论对象又包含一个标签对象列表。
在搜索方面,我使用的是 MultiFieldQueryParser,我向其中传递了一长串可能的搜索字段,包括一些嵌套字段,例如:
hashTags.value
和
coments.hashTags.value
现在,有趣的事情发生在我想搜索某些东西时,比如说#architecture。我知道标签在哪里,所以最简单的逻辑是将#architecture类型的查询转换为其中一种类型hashTags.value:architecture or comments.hashTags.value:architecture
虽然可能,但这非常不灵活。如果我想出另一个包含主题标签的字段怎么办?我也必须包括在内。
有没有通用的方法来做到这一点?
PS 请记住,我正在搜索的根类型是 Post,因为这是我想要实现的结果