在搜索索引中搜索多个属性并返回匹配最大属性的属性

时间:2016-09-22 08:10:13

标签: elasticsearch solr lucene

我正在索引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行并在我的应用程序中执行此操作。

非常感谢任何帮助。

0 个答案:

没有答案