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.

3
  • 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
    Commented Jul 7, 2017 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? Commented Jul 7, 2017 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
    Commented Jul 7, 2017 at 21:02

1 Answer 1

6

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

4
  • 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 Commented Jul 7, 2017 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 Commented Jul 7, 2017 at 21:17
  • 1
    That patch isn't going to work. The patch:delete syntax is incorrect Commented Jul 7, 2017 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
    Commented Jul 8, 2017 at 6:52

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.