Hello,
I have an XML which contains personal contacts. Not all contacts have the
same fields (email, phone, postal).

The problem is that when certain fields are NOT present,  SOLR is injecting
the previous contacts data.

For example, assume the following from the XML feed:
<entry>
        <title type='text'>Jane Doe</title>
        <gd:email rel='http://schemas.google.com/g/2005#work' address='
jane....@gmail.com' primary='true'/>
        <gd:postalAddress rel='http://schemas.google.com/g/2005#home
'>Santiago
            Region Metropolitana
        Chile</gd:postalAddress>
    </entry>
    <entry>
        <title type='text'>Jeff Smith</title>
        <gd:email rel='http://schemas.google.com/g/2005#work' address='
jeff.sm...@gmail.com' primary='true'/>
    </entry>
    <entry>
        <title type='text'>Ana Mercurio</title>
        <gd:phoneNumber rel='http://schemas.google.com/g/2005#mobile'
primary='true'>+56912345678</gd:phoneNumber>
    </entry>

The second contact, will have the first contacts postal address.
The third contact, will have Janes Postal Address and Jeffs email address:

<lst>
    <arr name="title">
        <str>Ana Mercurio</str>
    </arr>
    <arr name="phoneNumber">
        <str>+5612345678</str>
    </arr>
    <arr name="email">
        <str>jeff.sm...@gmail.com</str>
    </arr>
    <arr name="postalAddress">
        <str>Santiago
            Region Metropolitana
        Chile</str>
    </arr>
</lst>

This is how I have the fields specified in the schema.xml file:
    <field name="email" type="string" indexed="true" stored="true"
multiValued="true" default=" "/>
    <field name="phoneNumber" type="string" indexed="true" stored="true"
multiValued="true"  default=" "/>
    <field name="postalAddress" type="string" indexed="true" stored="true"
multiValued="true"  default=" "/>

What did I miss?

Thanks for your help.

Reply via email to