使用SortedMapBackedCache快速构建Solr索引,返回缺少数据库列值的文档结果

时间:2014-12-17 12:20:20

标签: django solr dataimporthandler

。我的Django应用程序中有两个表: 产品和商家

商家是产品中的外键。

这是我的data-config.xml的片段:

<entity name="products_product"
        query="SELECT id, merchant_id, product_id, retail_price, date_created FROM products_product"
        transformer="script:generate_resource_uri">


    <entity name="merchant"
            query="SELECT merchant_name, commission, commission_type FROM products_merchant"                    
            cacheKey='id' cacheLookup='products_product.merchant_id'
             cacheImpl="SortedMapBackedCache">
        <field column="merchant_name" name="merchant_name"/>
        <field column="commission" name="commission"/>
        <field column="commission_type" name="commission_type"/>
    </entity>
</entity>

我的schema.xml是here

问题是,

cachePk="id" cacheLookup="${products_product.merchant_id}"
                    cacheImpl="SortedMapBackedCache"

无法按预期工作。索引构建时间减少了,因为已经提取的查询来自缓存,但是我没有在结果中获取这些字段:

merchant_name, commission, commission_type

我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否尝试过包含&#34; id&#34;您&#34;商家的列#34; SELECT查询中的实体?因为您指定它将是与查找键匹配的键。

<entity name="merchant"
        query="SELECT id, merchant_name, commission, commission_type FROM products_merchant"                    
        cacheKey='id' cacheLookup='products_product.merchant_id'
         cacheImpl="SortedMapBackedCache">
    <field column="merchant_name" name="mer`enter code here`chant_name"/>
    <field column="commission" name="commission"/>
    <field column="commission_type" name="commission_type"/>
</entity>