Solr搜索查询在单个文档中具有多个实体

时间:2018-11-12 11:41:21

标签: solr lucene solrj

我有一个如下的Solr数据配置(使用mysql db)

<document>
            <entity name="users"   
                    query="SELECT user_id, user_id as pk_field, user_name FROM users">                        
            </entity>                

            <entity name="group"   
                    query="SELECT group_id, group_id as pk_field, group_name FROM  groups">
            </entity>        
</document>

现在,我想根据实体名称在solr中搜索它。通常,如果我从两个文档中检索它的检索。我需要在搜索时指定实体名称。有人可以帮忙吗。

1 个答案:

答案 0 :(得分:0)

将实体类型添加为查询中的值之一:

SELECT 'group' AS entity_type, group_id, group_id as pk_field, group_name ...

SELECT 'user' AS entity_type, user_id, user_id as pk_field, user_name

然后,您可以附加fq=entity_type:user仅用于搜索用户,entity_type:group仅用于搜索组。