在我的 Lucene 搜索中,我想排除在不属于给定集合的特定字段元素中索引的所有文档。
例如,假设我的文档代表了一张图纸。并且有一个色域。在颜色字段中,我索引了绘图中使用的所有颜色。现在说我可以说五种颜色。红色、蓝色、绿色、紫色和棕色。我只想检索使用这些颜色的绘图,并且应排除任何颜色不在上述颜色中的绘图。如果我想要使用所有这些颜色的所有绘图,除了所有这些颜色,我可以在我的文档中添加一个新字段以获取“颜色数量”,然后通过为每种颜色添加 MUST 术语查询来构建我的布尔查询,以及添加一个 MUST Boolean 查询,其计数为颜色数。但我还想检索具有上述 5 种颜色任意组合的所有文档。因此,也将检索完全用棕色完成的绘图。
请注意,我有数千种颜色。因此,为每种颜色创建一个字段,然后为我的 5 种颜色以外的所有人执行 MUST_NOT 也不是一种选择。
非常感谢!