<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
  http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!--
  More information on gora-solr configuration and mapping's can be found
  at http://gora.apache.org/current/gora-solr.html
-->
<gora-otd>
    <class name="org.apache.hadoop.chukwa.datacollection.writer.gora.ChukwaChunk" keyClass="java.lang.String" table="chukwachunk">
        <primarykey column="TBD"/>
        <field name="source" column="source" />
        <field name="tags" column="tags" />
        <field name="datatype" column="datatype" />
        <field name="sequenceID" column="sequenceID" />
        <field name="name" column="name" />
        <field name="data" column="data" />
    </class>
</gora-otd>
