2013-06-12 2 views
0

Java Web Project에서 인덱싱을 위해 Solr을 사용하고 있습니다. 나는 Solr에 대한 튜토리얼을 읽고 그것에 관해 기본적인 것을 가지고있다. XML 파일 schema.xml이 있는데, 인덱싱 할 필드가 field 태그에 있습니다. 내 질문은 다음과 같습니다.하나 이상의 엔터티에 대한 solr 인덱싱

  1. DB에있는 XML 파일의 필드가 있는데, schema.xml 파일에서 DB에있는 XML 데이터를 참조 할 수 있습니다.
  2. 그렇다면 schema.xml에 모든 필드를 넣어야합니다. 그렇다면 그런 경우에 인덱스가 필요한 엔티티가 두 개 이상이면 모두 동일한 스키마에 놓아야합니다. XML 또는 각 엔터티에 대해 서로 다른 XML 파일을 만들 수 있습니까? 다음과 같은 방법에 대한
+0

blob로 데이터베이스의 데이터가있는 xml 파일이 있는데 해당 데이터의 색인을 생성 하시겠습니까? – Jayendra

+0

@Jayendra 예, 데이터베이스의 데이터는 BLOB이며 인덱스하고 싶습니다. – Vikram

답변

1

확인 : -

당신은 BLOB 파일을 읽고 필드를 생성하는 XML 파일에 XPath를 적용 할 개체

사용을 XPathEntityProcessor의 조합

인덱스에 DIH를 사용할 수 있습니다.

이 같은 일부 것은 당신이 검색하고 더 확장 할 수 있습니다 .....

<entity name='test' query='select blob from table' dataSource='db'> 
    <field column='blob' /> 
    <entity name='parse_xpath' dataSource='<FieldReaderDataSource>' processor='XPathEntityProcessor' forEach='/root' dataField='test.blob'> 
     <field column='some_element' xpath='/some_element' /> 
    </entity> 
</entity> 

당신은 당신이 다이 하이드로의 설정에서 지정하는 각각의 매핑에의 schema.xml에 정의 된 필드가 있어야하고 xml 파일
dynamic fields을 사용하지 않으면 자동으로 생성되지 않습니다.

<dynamicField indexed="true" multiValued="true" name="*" stored="true" type="text_en"/> 
+0

schema.xml에 필드를 정의해야합니까? – Vikram

+0

필드를 검색하고 표시하려면 필드를 정의해야합니다. 캐치 모든 필드를 정의 할 수도 있습니다. 그런 다음이 필드를 정의 할 필요가 없습니다. – Jayendra

+0

정의 방법을 참조 할 수 있도록 링크가 있습니까? 그리고 catch all 필드를 정의한 후에 필드를 검색하고 표시 할 수 있습니까? 도움을 주셔서 감사합니다. 정말 도움이됩니다. – Vikram

관련 문제