Hi Kaushik,

If the field is being treated as blobs, you can try using the
FieldStreamDataSource mapping.
This handles the blob objects to extract contents from it.

This feature is available only after Solr 3.1, I suppose.
http://lucene.apache.org/solr/api/org/apache/solr/handler/dataimport/FieldStreamDataSource.html

Regards,
Jayendra

On Tue, Mar 15, 2011 at 11:57 PM, Kaushik Chakraborty
<kaych...@gmail.com> wrote:
> I've a column for posts in MySQL of type `text`, I've tried corresponding
> `field-type` for it in Solr `schema.xml` e.g. `string, text, text-ws`. But
> whenever I'm importing it using the DIH, it's getting imported as a BLOB
> object. I checked, this thing is happening only for columns of type `text`
> and not for `varchar`(they are getting indexed as string). Hence, the posts
> field is not becoming searchable.
>
> I found about this issue, after repeated search failures, when I did a `*:*`
> query search on Solr. A sample response:
>
>        <result name="response" numFound="223" start="0" maxScore="1.0">
>        <doc>
>        <float name="score">1.0</float>
>        <str name="solr_post_bio">[B@10a33ce2</str>
>        <date name="solr_post_created_at">2011-02-21T07:02:55Z</date>
>        <str name="solr_post_email">test.acco...@gmail.com</str>
>        <str name="solr_post_first_name">Test</str>
>        <str name="solr_post_last_name">Account</str>
>        <str name="solr_post_message">[B@2c93c4f1</str>
>        <str name="solr_post_status_message_id">1</str>
>        </doc>
>
> The `data-config.xml` :
>
>        <document>
>     <entity name="posts" dataSource="jdbc"  query="select
>     p.person_id as solr_post_person_id,
>     pr.first_name as solr_post_first_name,
>     pr.last_name as solr_post_last_name,
>     u.email as solr_post_email,
>     p.message as solr_post_message,
>     p.id as solr_post_status_message_id,
>     p.created_at as solr_post_created_at,
>     pr.bio as solr_post_bio
>     from posts p,users u,profiles pr where p.person_id = u.id and
> p.person_id = pr.person_id and p.type='StatusMessage'">
>             <field column="solr_post_person_id" />
>     <field column="solr_post_first_name"/>
>     <field column="solr_post_last_name" />
>     <field column="solr_post_email" />
>     <field column="solr_post_message" />
>     <field column="solr_post_status_message_id" />
>     <field column="solr_post_created_at" />
>     <field column="solr_post_bio"/>
>           </entity>
>      </document>
>
> The `schema.xml` :
>
>    <fields>
>        <field name="solr_post_status_message_id" type="string"
> indexed="true" stored="true" required="true" />
>     <field name="solr_post_message" type="text_ws" indexed="true"
> stored="true" required="true" />
>     <field name="solr_post_bio" type="text" indexed="false" stored="true"
> />
>     <field name="solr_post_first_name" type="string" indexed="false"
> stored="true" />
>     <field name="solr_post_last_name" type="string" indexed="false"
> stored="true" />
>     <field name="solr_post_email" type="string" indexed="false"
> stored="true" />
>     <field name="solr_post_created_at" type="date" indexed="false"
> stored="true" />
>    </fields>
>    <uniqueKey>solr_post_status_message_id</uniqueKey>
>    <defaultSearchField>solr_post_message</defaultSearchField>
>
>
> Thanks,
> Kaushik
>

Reply via email to