I am using solr to retrieve results from a cassandra table.
Table structure:
CREATE TABLE mytable (
  field1 uuid,
  field2 text ,
  bfield blob,
  cstdta_<text, text>,
  PRIMARY KEY (field1)
);
Table content
INSERT INTO mytable  VALUES ( 62c36092-82a1-3a00-93d1-46196ee77204,"test", { 'f1'  : 'La Vita E La Felicita', 'f2' : 'Michele Bravi' });
I am able to retrieve the results when queried directly using devcenter. But on using solr query, the dynamic field is not returned.
Solr query Response:
{
  "responseHeader": {
    "status": 0,
    "QTime": 1
  },
  "response": {
    "numFound": 1,
    "start": 0,
    "docs": [
      {
        "field1": "62c36092-82a1-3a00-93d1-46196ee77204",
        "field2": "test"
      }
    ]
  }
}
Here is the scheme.xml file:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<schema name="autoSolrSchema" version="1.5">
<types>
<fieldType class="org.apache.solr.schema.TextField" name="TextField">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType class="org.apache.solr.schema.UUIDField" name="UUIDField"/>
<fieldType class="org.apache.solr.schema.BinaryField" name="BinaryField"/>
</types>
<fields>
<field indexed="true" multiValued="false" name="field1" stored="true" type="TextField"/>
<field indexed="true" multiValued="false" name="field2" stored="true" type="TextField"/>
<field indexed="true" multiValued="false" name="bfield" stored="true" type="BinaryField"/>
<dynamicField indexed="true" multiValued="false" name="cstdta_*" stored="true" type="TextField"/>
<field indexed="true" multiValued="false" name="cstdta_stc" stored="true" type="TextField"/>
<copyField source="cstdta_*" dest="cstdta_stc"/>
</fields>
<uniqueKey>resid</uniqueKey>
</schema>
I added the copy field following this answer. But it doesn't seem to work.
UPDATE:
As user3398164 pointed out I needed to insert customdata inside the dynamic field in a specific format. In my case, I had to insert using this query:
 INSERT INTO mytable  VALUES ( 62c36092-82a1-3a00-93d1-46196ee77204,"test", { 'cstdtaf1'  : 'La Vita E La Felicita', 'cstdtaf2' : 'Michele Bravi' });
Now I am getting the desired result:
{
  "responseHeader": {
    "status": 0,
    "QTime": 1
  },
  "response": {
    "numFound": 1,
    "start": 0,
    "docs": [
      {
        "field1": "62c36092-82a1-3a00-93d1-46196ee77204",
        "field2": "test",
         "cstdtaf1":"La Vita E La Felicita",
         "cstdtaf2" : "Michele Bravi"
      }
    ]
  }
}