我有这种情况
Entity Company_id
-----------------
E001 1
E001 2
E003 1
E002 2
E001 3
E003 3
我想知道在这种情况下有多少公司(E001和E003)的结果应该是公司1和公司。
在SQL中,它可以通过创建嵌套查询来解决,但是我应该使用像luncene这样的东西,因为性能需要这个查询将为每个页面执行50次以上。
注意:我还必须限制3个或4个实体,例如:所有拥有(E001 AND E002和E003 AND 3004)的公司。
任何帮助将不胜感激
修改 我知道lucene是用于文本搜索的,但我们假设每行都是索引中的Document。
答案 0 :(得分:0)
如果您可以配置Lucene索引以使每个公司都是Lucene文档并且它们包含0个或更多实体,那么(在查询解析器语法中)“所有具有E001 AND E003的公司”变为:
+entity:E001 +entity:E003
(其中实体是实体字段)。 “所有拥有E001和E002和E003和E004的公司都成为:
+ entity:E001 + entity:E002 + entity:E003 + entity:E004
然后只需将“Company_id”包含为公司文档的存储字段,这样您就可以在查询结果中看到它。