Caching 具有多个键的Solr DataImportHandler缓存
我正在尝试使用Solr DataImportHandler对数据库中的数据进行索引。该数据库包含由一个类定义的具有多个功能的产品,以及以下相关表:Caching 具有多个键的Solr DataImportHandler缓存,caching,indexing,solr,dataimporthandler,Caching,Indexing,Solr,Dataimporthandler,我正在尝试使用Solr DataImportHandler对数据库中的数据进行索引。该数据库包含由一个类定义的具有多个功能的产品,以及以下相关表: product表包含一个PKproduct\u id和一个FKclass\u id product\u feature表包含一个主键(product\u id&feature\u id) class\u feature表包含一个主键(class\u id&feature\u id) 对于每个产品,我需要为多个产品功能编制索引,对于每个产品,我需要
表包含一个PKproduct
和一个FKproduct\u id
class\u id
表包含一个主键(product\u feature
&product\u id
)feature\u id
表包含一个主键(class\u feature
&class\u id
)feature\u id
产品
,我需要为多个产品功能
编制索引,对于每个产品,我需要为多个类功能
编制索引。我还需要缓存子实体以提高性能。配置中的实体定义如下所示:
<entity name="product" query="select product_id, class_id, ... from product">
...
<entity name="product_feature" query="select product_id, feature_id, ... from product_feature"
cacheImpl="SortedMapBackedCache" cacheKey="product_id" cacheLookup="product.product_id">
...
<entity name="class_feature" query="select class_id, feature_id, ... from class"
cacheImpl="SortedMapBackedCache" where="class_id=product.class_id AND feature_id=product_feature.feature_id">
...
</entity>
</entity>
</entity>
...
...
...
请注意,在最里面的实体class\u功能
中,我定义了一个属性,其中
属性匹配两个FK,一个在最外面的产品
上,另一个在直接父产品
上。这似乎不起作用。我必须如何定义实体缓存以匹配多个键