12

I've been trying to get Solr configured right with Sitecore, but the one bit that's still causing background errors is indexing PDF content. I've been searching about and I'm not finding a clear-cut answer to the issue. I'm using the Bitnami Solr 6.5.1 with Sitecore 8.2 Update 3.

When I reindex, I see many of these errors in the Crawling.log file:

4896 07:53:04 WARN  Could not compute value for ComputedIndexField: _content for indexable: sitecore://master/{C59FEEF5-9C81-463A-8C4C-3E5C2B0D634F}?lang=en&ver=1
Exception: System.Runtime.InteropServices.COMException
Message: Exception from HRESULT: 0x80048605
Source: Sitecore.ContentSearch
   at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.IPersistStream.Load(IStream stream)
   at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterLoader.InitializeFilterAsPersistStream(IFilter filter, String fileName)
   at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterLoader.LoadAndInitIFilter(String fileName, String extension)
   at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterReader..ctor(String fileName)
   at Sitecore.ContentSearch.ComputedFields.MediaItemIFilterTextExtractor.ComputeFieldValue(IIndexable indexable)
   at Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor.ComputeFieldValue(IIndexable indexable)
   at Sitecore.ContentSearch.SolrProvider.SolrDocumentBuilder.AddComputedIndexField(IComputedIndexField computedIndexField, ParallelLoopState parallelLoopState, ConcurrentQueue`1 exceptions)

In my ContentSearch.Solr.DefaultIndexConfiguration.config, I see the following line in my fields list:

<field fieldName="_content" returnType="string" type="Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor,Sitecore.ContentSearch">
     <mediaIndexing ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/mediaIndexing"/>
</field>

Then there's an entire mediaIndexing section where it includes application/PDF as a mimeType. I think it's all pretty out-of-the-box. Also, in the schema.xml, I see the _content field:

<field name="_content" type="text_general" indexed="true" stored="false" />

So it looks like everything is good to go. When I was searching around, I saw mention of maybe needing to install IFilters manually, but I see pdfbox as part of the standard Sitecore install, which I believe is a valid option, and it's using a Sitecore call to do the work.

I was reading also about configuring library entries in the solrconfig.xml to do PDF indexing, but these logs seem to suggest Sitecore is handling that through its auspices and sending the data into the index.

I figure this might require more information, so please ask in comments if so.

2 Answers 2

8

Please install IFilter, because it is required for indexing media items. For general information about the IFilter integration with Sitecore, you can refer to the following documentation (Uploading Files to the Media Library):

If it is already installed, please confirm that after installation of Adobe PDF iFilter 11:

  1. you executed the steps mentioned in its readme: C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\ReadMe.txt

  2. added the following folder to system Path variable: C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin

In addition, try to perform the solution from the following article: https://helpx.adobe.com/acrobat/kb/pdf-search-breaks-110-install.html

6
1

If you have a non-trivial amount of content to index, I would recommend looking at the Foxit PDF IFilter. It's not free, but it's much faster than Adobe (8x), which can make a big difference on large document libraries. Our re-indexing times have come down from around 4 hours to only 30 mins (we have a lot of documents).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.