Solr SEARCH BY实体名称

时间:2012-08-04 15:42:03

标签: solr dataimporthandler

<dataConfig>
        <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver">        
        <document>
                <entity name="MALE_PROFILES"
                query="SELECT ID , COLUMN1 , COLUMN2,male FROM MALE_PROFILES "
                 transformer="RegexTransformer">
                        <field name="id" column="ID">
                </entity>
                <entity name="FEMALE_PROFILES"
                query="SELECT ID , COLUMN1 , COLUMN2,female FROM FEMALE_PROFILES"
                 transformer="RegexTransformer">
                        <field name="id" column="ID">
                </entity>
        </document>
</dataConfig>

目前我的搜索基于男性和女性,这应该很慢。 我可以根据实体名称进行搜索,例如MALE_PROFILE吗?

1 个答案:

答案 0 :(得分:3)

除非您有大量索引大小的记录,否则它不会很慢 对于基于实体的搜索,您可以向男性和女性个人资料添加标识符,并使用filter queries来限制将使用filter cache的搜索实体。 例如

如果您为男性和女性实体添加固定列,

SELECT ID,COLUMN1,COLUMN2,male,'MALE' AS PROFILE FROM MALE_PROFILES

您可以使用fq = profile:MALE

来应用过滤器