我正在索引ElasticSearch / Solr中{name,start_date,end_date,status,user_id,object_id,attr1_id,attr2_id,attr3_id,attr4_id,attr5_id ..... attr30_id}类型的记录。
我想在这个索引中搜索一组这些属性,如attr1_id,attr2_id,attrx_id,attry_id等... 属性的基数是不同的。
是否有某种方法可以搜索并仅返回与最大属性数匹配的结果? e.g。
row1 : attr1_id, attr2_id, attr3_id
row2 : attr1_id, attr2_id
row3 : attr1_id
row4 : attr2_id
row5 : attr3_id
row6 : attr6_id, attrx_id, attry_id
row7 : attr6_id
row8 : attrx_id
结果应该是 row1和row6 因为与行2,3,4,5相比,row1更精确匹配。 类似地,与行7和8相比,row6更精确地匹配。
是否有直接查询来获取此信息。 目前我正在返回所有8行并在我的应用程序中执行此操作。
非常感谢任何帮助。