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



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

商家是产品中的外键。

这是我的数据配置.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>

我的架构.xml在这里

问题是,那

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

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

merchant_name, commission, commission_type

我可能做错了什么?

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

<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>

最新更新