[ 
https://issues.apache.org/jira/browse/SOLR-3386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15209866#comment-15209866
 ] 

Dave Shepperton commented on SOLR-3386:
---------------------------------------

I'm pretty new to Solr, but I'd like to help with this issue. I've been 
grappling with it recently, and I found it to be quite frustrating. It has 
taken a lot of work for me to work around the consequences as I integrate Solr 
with my organization's software.

Based upon the documentation from 
https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Solr+Cell+using+Apache+Tika
 on the fmap.* parameters seem like they should apply to field name-value pairs 
being created by Tika. At least if this is not the intention, I think it should 
be spelled out in the documentation.

Can someone help me figure out the status of this constellation or related 
issues? What is the intended behavior? What can I do to help?

(See also one of the comments in SOLR-5375 that seem to spell out more or less 
the same issue.)

> ExtractingRequestHandler applies fname settings to literals
> -----------------------------------------------------------
>
>                 Key: SOLR-3386
>                 URL: https://issues.apache.org/jira/browse/SOLR-3386
>             Project: Solr
>          Issue Type: Bug
>          Components: contrib - Solr Cell (Tika extraction)
>    Affects Versions: 3.5
>            Reporter: Colin Hebert
>            Priority: Minor
>
> The SolrContentHandler.addLiterals() method call the 
> SolrContentHandler.addField() which itself obtains the field with 
> SolrContentHandler.findMappedName().
> If this call makes sense with SolrContentHandler.addMetadata() [and others] 
> because the user can't set the name of the fields otherwise, with literals it 
> isn't useful, the name of the field is manually given by the user and it 
> shouldn't be modified at all (maybe applying unknownFieldPrefix or 
> defaultField could be done, but even that doesn't seem quite normal).
> ----
> I got this issue with the following usecase:
> I have a schema containing a "title" field which is mandatory and contains 
> only one value.
> My documents have an internal title which is used as the value of the "title" 
> field.
> When sending one of these documents (and HTML document), if it contains a 
> "title" metadata I get an exception because I have multiple values for my 
> "title" field (an exception I expect).
> To fix that I used "fname.title=tika_title", so the title provided by tika is 
> kept under another name.
> Both titles (the original one I pass manually, and the metadata one) are now 
> stored in the field "tika_title" and I get an exception because the "title" 
> field hasn't been provided at all.
> ----
> An easy workaround for this bug is sending the literal named as "my_title", 
> and adding the following fnames 
> "fname.my_title=title&fname.title=tika_title". A small swicheroo which puts 
> back the correct value in the expected field.
> ----
> A way to fix that is extracting the first part of 
> SolrContentHandler.addField() (lowerNames and findMappedName()) in an 
> external method (or put the lowerNames check in 
> SolrContentHandler.findMappedName() ) and use that external method (or 
> findMappedName() ) _before_ calling SolrContentHandler.addField()



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to