3
<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 のようなエンティティ名に基づいて検索できますか?

4

1 に答える 1

4

膨大なインデックス サイズのレコードが大量にない限り、遅くなることはありません。
エンティティに基づく検索の場合、男性と女性のプロファイルに識別子を追加し、フィルタ クエリを使用して、フィルタ キャッシュも使用する検索エンティティを制限できます。例えば

男性と女性のエンティティで固定列を追加すると、

SELECT ID , COLUMN1 , COLUMN2,male, 'MALE' AS PROFILEFROM MALE_PROFILES

fq=profile:MALE を使用してフィルターを適用できます

于 2012-08-05T10:13:44.467 に答える