n
제품 표와이 제품의 기능 표가 있습니다. 각 제품에는 많은 기능이 있습니다.Solr은 테이블을 메모리에 조인 할 수 있습니까?
<document name="products">
<entity name="item" query="select id, name from item">
<field column="ID" name="id" />
<field column="NAME" name="name" />
<entity name="feature"
query="select feature_name, description from feature where item_id='${item.ID}'">
<field name="feature_name" column="description" />
<field name="description" column="description" />
</entity>
</entity>
</document>
SOLR이 데이터를 가져 n + 1
쿼리를 실행하십시오 SOLR DataImportHandler 구성을 감안할 때. 기본 쿼리의 경우 1
이고 기능을 가져 오는 쿼리의 경우 n
입니다. 이는 많은 수의 항목에 비효율적입니다. Solr이 이러한 쿼리를 별도로 실행하고 메모리에 대신 참여하도록 구성 할 수 있습니까? 두 테이블의 모든 행을 가져옵니다.
이미 태그와 같은 단일 값 하위 엔티티에이 기술을 사용하고 있지만 여러 필드가있는 하위 엔티티에 대해이 작업을 수행하는 방법은 무엇입니까? * 이것을 반영하도록 질문을 업데이트했습니다. * – beerbajay
GROUP_CONCAT()은 주어진 ID에 대한 설명의 모든 값을 가져 와서 결과의 단일 열에 반환합니다. 설명의 개별 값은 쉼표로 구분됩니다. 그런 다음 RegexTransformer를 사용하여 인덱싱하기 전에 쉼표로 구분할 수 있습니다. – nikhil500
당신은 내가 의미했던 것을 오해했습니다. 하위 엔터티에 ** ** ** ** 필드가있는 경우 함께 포함됩니다 (예 : 각 제품에는 많은 기능이 있으며 각 기능은 이름 * 및 * 설명으로 구성됩니다. – beerbajay