Troubles Using EPiServer Search for VPP Folders

Vote:
 

Hi all,

I've been trying to get standard CMS file search working on my EPiServer 7.1 site for a good while – I’ve trawled through a number of posts on this forum regarding EPiServer Search and spent a lot of time looking on the Internet for information regarding it and it is severely sparse to say the least.  I originally tried following this post: 

http://sveinaandahl.blogspot.co.uk/2013/06/how-to-install-episerver-search-for.html

Which is pretty comprehensive, but I was met only with errors when trying to reindex - the same strange and seemingly inexplicable errors that others have posted about on these forums.

Round 2: I installed via NuGet and ran the site through Visual Studio (2012) - I had a lot more success this time, but I got the same errors when trying to delete the currently indexed files either by checking the box to do so on the 'hidden' IndexContent.aspx URL or via a scheduled job using the following code:

var reIndex = new EPiServer.Search.ReIndexManager();
reIndex.ReIndex();

However, if I run IndexContent.aspx task without checking the delete box it works without error.  If I also ignore the errors when running the aforementioned scheduled job I see that new content is in fact re-indexed... so what on earth is going on here?  

If I try to clear the files from the Index folder before-hand Lucene has a fit, so that doesn't seem to be an option.

http://localhost:61715/IndexingService/IndexingService.svc yields a 404 - Not Found http://localhost:61715/IndexingService/IndexingService.svc/update/ yields 405 error - Method Not Allowed

and yet indexing without delete works...

My config appears to be correct, comparing to the article above and other examples I've seen on this forum (as well as the limited documentation: http://world.episerver.com/Documentation/Items/Developers-Guide/EPiServer-Framework/75/Configuration/Configuring-episerversearch/), but since so many people seem to be having trouble with the config, maybe it truly is incorrect.  

Still, I am able to index new files added to the ‘Page Files’ and ‘Global Files’ folders, but not ‘Documents’  nor the two custom folders I have added to VPP.  How do I force these folders to be included in the index?  An article from Ted Nyberg states that “If your site has EPiServer Search enabled all pages and VPP files are automatically indexed with a set of default fields.”  If that is true, why are my additional VPP folders not being indexed?  It seems like overkill to try to force it to happen through code when I’m not adding any custom fields (assuming that would even work!).

I considered using Find to achieve this instead, since we are already using it for other things on the site – I managed to add all of the files in all of the required folders to the index with no effort at all, but there doesn’t seem to be any documentation showing how it could be used to fulfil the standard file search functionality in place of the expected EPiServer Search.

Could anybody please shed some light on how to include folders in the Search index and/or resolve the index reset errors?  I would also appreciate it if someone could please point me in the direction of documentation which shows how Find could be used in its’ place here.

My config for completeness/reference:

  <episerver.search active="true">

    <namedIndexingServices defaultService="defaultService">

      <services>

        <add name="defaultService" baseUri="http://localhost:61715/IndexingService/IndexingService.svc" accessKey="local"/>

      </services>

    </namedIndexingServices>

    <searchResultFilter defaultInclude="true">

      <providers />

    </searchResultFilter>

  </episerver.search>

<episerver.search.indexingservice>

    <clients>

      <add name="local" description="local" allowLocal="true" readonly="false" />

    </clients>

    <namedIndexes defaultIndex="default">

      <indexes>

        <add name="default" directoryPath="[appDataPath]\Index" readonly="false" />

      </indexes>

    </namedIndexes>

  </episerver.search.indexingservice>

  <location path="IndexingService/IndexingService.svc">

    <system.web>

      <httpRuntime maxQueryStringLength="65536" />

    </system.web>

    <system.webServer>

      <security>

        <requestFiltering>

          <requestLimits maxQueryString="65536" />

        </requestFiltering>

      </security>

    </system.webServer>

  </location>

#85488
Apr 28, 2014 10:55
Vote:
 

I would recommend using Find.

To use Find for internal search: Go to Admin -> Config tab -> Search Configuration (below heading Tool Settings).

There you uncheck all but the ones named "Find *" and Jump to.

You also need to allow file indexing in your Indexing Conventions.

FileIndexer.Instance.Conventions.ShouldIndexVPPConvention = new VisibleInFilemanagerVPPIndexingConvention();            
ContentIndexer.Instance.Conventions.EnablePageFilesIndexing();

    

 

#85664
Edited, May 01, 2014 16:16
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.