【发布时间】:2016-02-17 05:50:17
【问题描述】:
我有一个包含 400 万个产品的 MySQL 数据库,我使用 DIH 将其导入到 Solr 中,以便我可以执行详细的搜索。然而数据关系意味着我实际上请求了超过 400 万条记录(例如,一种产品可能有多种颜色等),并且构建索引需要 8 多个小时。
有没有办法在不使用增量查询的情况下提高索引性能?例如,性能瓶颈是由于我使用的多个“加入”条件造成的吗?我可以看到 Solr 中没有可用的索引性能统计信息,因此很难诊断性能瓶颈在哪里。
这是我的 data-config.xml 文件:
谢谢,
<document>
<entity name="A" pk="id" query="SELECT id AS id_productByStore, id_product, id_store, ... FROM A">
<entity name="B" pk="id" query="SELECT id, cleanTitle, id_brand, ... FROM B WHERE id='${A.id_product}'">
<entity name="C" pk="id" query="SELECT name, alias FROM C WHERE id ='${B.id_brand}'"></entity>
<entity name="D" pk="id" query="SELECT name FROM D WHERE id ='${B.id_category}'"></entity>
<entity name="E" pk="id" query="SELECT gender FROM E WHERE id='${B.id_gender}'" > </entity>
<entity name="F" pk="id" query="SELECT id_colour FROM F WHERE id_colourSet='${B.id_colourSet}'">
<entity name="G" pk="id" query="SELECT title FROM G WHERE id='${F.id_colour}'" > </entity>
</entity>
</entity>
<entity name="H" pk="id" query="SELECT name FROM H WHERE id = '${A.id_store}'"></entity>
</entity>
</document>
【问题讨论】:
标签: mysql performance solr