2

I have a site that allows visitors to upload a PDF via a WFFM form. However, each time a visitor does so, the logs fill up with the following errors:

ManagedPoolThread #2 17:14:20 WARN  Could not compute value for ComputedIndexField: _content for indexable: sitecore://web/{9E1A9941-79F8-4371-9AE1-E77572BBE9B7}?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) in C:\Users\Juozas\AppData\Local\JetBrains\Shared\v03\DecompilerCache\decompiler\2283837D-E4E9-4FD7-9CCD-0BCBFD59410F\ea\34d3cbb0\FilterLoader.cs:line 118
   at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterLoader.LoadAndInitIFilter(String fileName, String extension) in C:\Users\Juozas\AppData\Local\JetBrains\Shared\v03\DecompilerCache\decompiler\2283837D-E4E9-4FD7-9CCD-0BCBFD59410F\ea\34d3cbb0\FilterLoader.cs:line 66
   at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterReader..ctor(String fileName) in C:\Users\Juozas\AppData\Local\JetBrains\Shared\v03\DecompilerCache\decompiler\2283837D-E4E9-4FD7-9CCD-0BCBFD59410F\ee\7cf1a832\FilterReader.cs:line 24
   at Sitecore.ContentSearch.ComputedFields.MediaItemIFilterTextExtractor.ComputeFieldValue(IIndexable indexable) in C:\Users\Juozas\AppData\Local\JetBrains\Shared\v03\DecompilerCache\decompiler\2283837D-E4E9-4FD7-9CCD-0BCBFD59410F\f5\458fd1ac\MediaItemIFilterTextExtractor.cs:line 48
   at Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor.ComputeFieldValue(IIndexable indexable) in C:\Users\Juozas\AppData\Local\JetBrains\Shared\v03\DecompilerCache\decompiler\2283837D-E4E9-4FD7-9CCD-0BCBFD59410F\ef\54811fff\MediaItemContentExtractor.cs:line 53
   at Sitecore.ContentSearch.SolrProvider.SolrDocumentBuilder.AddComputedIndexField(IComputedIndexField computedIndexField, ParallelLoopState parallelLoopState, ConcurrentQueue`1 exceptions)

I have two questions with regard to these errors:

  1. Since we do not actually need to index media on the site (and thus do not have any IFilters configured on the servers), do I even need to the MediaItemContentExtractor registered for the _content computed index field, or can I just comment it out?
  2. As can be seen in the error, I am using Solr and this is happening on a Content Delivery server. I was under the impression that if my instance uses Solr and is a CD then there shouldn't be any indexing performed on the actual instance. Can someone help to clarify whether or not this is true (i.e. whether or not it is safe to disable indexing on a CD server when Solr is the provider being used)? Additionally, since I did not see anything in the Sitecore docs that suggest disabling indexing on CD servers when using Solr, can anyone provide some guidance on whether or not there are any special steps/customizations required in order to disable indexing on a CD using Solr?

I am using Sitecore 8.1 update 2.

  • Can you check your index configs on that CD server and check which indexing strategies are used there for sitecore_web_index and other indexes which use web database? – Marek Musielak Jul 7 '17 at 20:16
  • @MarekMusielak they're all set to onPublishEndAsync. The question is do I even need to have the onPublishEndAsync strategy though. Won't my CM rebuild my Web indexes? – Zachary Kniebel Jul 7 '17 at 20:41
  • you don't need onPublishEndAsync on CD if you use Solr. As Akhmed answered, CD servers should never update indexes. Set all strategies on CD servers to manual. – Marek Musielak Jul 7 '17 at 21:02
  • Awesome - thanks for the clarification – Zachary Kniebel Jul 7 '17 at 21:06
4

With Solr/Sitecore setup, you only need to enable indexing on CM, and disable it on CD servers, After any publish operation, Sitecore will try to update indexes on CD instances if the index have OnPublishEndAsync strategy enabled, Which is by default enabled on sitecore_web_index.

To disable indexing on CD, you need to change the indexing strategy for each index to be "Manual" on CD servers, like :

<strategies hint="list:AddStrategy">
              <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/manual" />
  </strategies>

You can disable PDF indexing by applying this patch to CM server:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <indexConfigurations>
        <defaultCloudIndexConfiguration>
          <mediaIndexing>
           <mimeTypes>
             <includes>
              <mimeType>
               <patch:delete>
                application/pdf
               </patch:delete>
             </mimeType>
            </includes>
           <mimeTypes>
          </mediaIndexing>
        </defaultCloudIndexConfiguration>
      </indexConfigurations>
    </contentSearch>
  </sitecore>
</configuration>

Link : https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/search_and_indexing/indexing/index_update_strategies

  • I'm familiar with the manual strategy, and I know that if I want to disable automated indexing I can use the manual strategy to do so. What I am more looking for is some guidance on whether or not my using Solr makes it safe to disable indexing on my CD servers without other side-effects, and some guidance on what - if any - special steps I should take to do so on a CD, since it's not clearly outlined in the Sitecore documentation. I will update my post. Definitely a good answer though, and if setting the manual strategy is all I need to do then you're half-way to answering the question! +1 – Zachary Kniebel Jul 7 '17 at 20:50
  • 1
    @ZacharyKniebel Using manual strategy to disable indexing on SOLR was what sitecore support suggested to me, I have been using this on any sitecore implementation that uses SOLR, Also i have updated my answer to include config path to disable PDF files indexing in the media library. Hope this helps – Ahmed Okour Jul 7 '17 at 21:17
  • That patch isn't going to work. The patch:delete syntax is incorrect – Zachary Kniebel Jul 7 '17 at 21:47
  • I have two different sites for CMS and CDE. On my CDE I haven't enabled sitecore login hence no publishing happens. In this scenario do I really need to update the indexing strategy to manual in CDE instance? – AlokBhatt Jul 8 '17 at 6:52

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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