1
Vote

Error indexing the Repository module

description

Hello,
I get this error launching LuceneSearch indexing:
2014-07-23 16:28:39,547 [JPWEB2011][Thread:26][ERROR] DotNetNuke.Services.Exceptions.Exceptions - FriendlyMessage="Error:  is currently unavailable." ctrl="ASP.desktopmodules_aricie_lucenesearch_controls_settings_indexersettings_ascx" exc="System.TypeLoadException: Could not load type 'DotNetNuke.Modules.Repository.RepositoryBL' from assembly 'DotNetNuke.Modules.Repository, Version=3.5.6.18189, Culture=neutral, PublicKeyToken=null'.
   at Aricie.DNN.Modules.LuceneSearch.ModuleProviders.RepositoryProvider.GetTargetFolder(Int32 moduleid, RepositoryInfo pRepository)
   at Aricie.DNN.Modules.LuceneSearch.ModuleProviders.RepositoryProvider.UpgradeSearchItem(Int32 portalId, LuceneSearchItemInfo& searchItem)
   at Aricie.DNN.Modules.LuceneSearch.Business.LuceneIndexer.UpgradeSearchItems(Int32 portalID, SearchItemInfoCollection nativeItems, LucenePortalSettings settings, ExistingIndexStructure`1 existingIndex)"
2014-07-23 16:28:39,562 [JPWEB2011][Thread:26][ERROR] DotNetNuke.Services.Exceptions.Exceptions - FriendlyMessage="Error:  is currently unavailable." ctrl="ASP.desktopmodules_aricie_lucenesearch_controls_settings_indexersettings_ascx" exc="System.TypeLoadException: Could not load type 'DotNetNuke.Modules.Repository.RepositoryBL' from assembly 'DotNetNuke.Modules.Repository, Version=3.5.6.18189, Culture=neutral, PublicKeyToken=null'.
   at Aricie.DNN.Modules.LuceneSearch.ModuleProviders.RepositoryProvider.GetTargetFolder(Int32 moduleid, RepositoryInfo pRepository)
   at Aricie.DNN.Modules.LuceneSearch.ModuleProviders.RepositoryProvider.UpgradeSearchItem(Int32 portalId, LuceneSearchItemInfo& searchItem)
   at Aricie.DNN.Modules.LuceneSearch.Business.LuceneIndexer.UpgradeSearchItems(Int32 portalID, SearchItemInfoCollection nativeItems, LucenePortalSettings settings, ExistingIndexStructure`1 existingIndex)"

I'm on Dnn 7.2.2, .net 4.0, with the last version of the Repository module (3.5.6), anybody else's got this problem? Solutions?
Thank you,
al.

file attachments

comments

trapias wrote Jul 30, 2014 at 9:51 AM

Hello,
I took a look at code at https://ariciels.codeplex.com/SourceControl/latest#Providers/SearchProviders/LuceneSearchProviders/Components/RepositoryProvider.vb: function GetTargetFolder() instanciates a RepositoryBL object, which appears to cause the indexing error, but it does not use it, maybe commenting out line 127 is enough to solve.
I'm trying to download sources to see if I can compile the searchproviders.

trapias wrote Jul 30, 2014 at 11:17 AM

Hello,
I managed to recompile just Aricie.Lucene.SearchProvider.dll: commenting that line appears to solve, even if I'm not sure: if I add debug info I see for example a pdf inside my repository module is indexed, I see searchItem.AdditionalFields do contain info from the file, but if then I search for terms I see in there... Lucene does not produce any output.
Doing more checks.

trapias wrote Jul 30, 2014 at 11:44 AM

Looks like the repository searchprovider does what it should, but then LuceneSearch does not correctly classify data.

I have a Dnn 7.3 multilangage portal (content localization enabled, e.g. with different pages for different languaes); I put two repository modules on the two pages (italian and english), went to italian to upload a pdf to the italian repo and to en to upload to the en repo.

Results are that in english I cannot find anything, while in italian I can only find terms that are in the document description in repository metadata, not in pdf docs (which actually were in english, but switching off "Use language-specific analysers" does not change the result). And in italian I see both documents from both repository, while I'd expect not to see files from the english repo.

Question is: does this depend on data the provider gives back to Lucene, or is it the engine itself missing some points?

Aricie wrote Jul 30, 2014 at 1:23 PM

Hi, I just commited the change to RepositoryProvider you suggested.
As for the content being indexed, can you try loading the index with Luke to figure out its content. It might be that certain options need to be enabled.
Figuring out what's in the index might help.

trapias wrote Jul 30, 2014 at 3:41 PM

Hi,
interesting, I was looking for a tool like this :)
From what I can understand I believe there's something to fix (in my configuration hopefully), because I only see one Language indexed, italian (it-IT). And I actually can find results only if I search in italian.

I have "Apply Default Language Filter" ON in general settings and "Set portal locale as default" also ON in portal settings. Site (07.03.01) has localized content enabled (see https://dnncltools.codeplex.com/wikipage?title=Enable%20core%20content%20localization).
Other options to check?
Would like to know if it works with mole localization only, e.g. when you have a multilangage site but without the host option enabled - will test this next days.

BTW I just found another issue: a page, the 404 page, which I configured NOT to be indexed is actually indexed by LuceneSearch. Tried emptying the index and rebuilding, it's there again.

trapias wrote Jul 30, 2014 at 3:43 PM

PS: I tried launching indexation navigating in english to the search page, but it still puts only it-IT as Language in index.

wrote Jul 30, 2014 at 3:58 PM

trapias wrote Jul 30, 2014 at 3:58 PM

Hi,
I see my repository docs are indexed, but am too new to Lucene to understand more.
I'm attaching a zip of my portals/0/Aricie.LuceneIndex so that you might eventually look at it, ok?

trapias wrote Jul 30, 2014 at 3:59 PM

Mmm the upload fails, if you're interested I can send you the file or put it on some public server.

Aricie wrote Jul 30, 2014 at 4:04 PM

Hi, it might be that the engine does not handle content language properly and falls back to portal locale. I will look into that.

Aricie wrote Jul 30, 2014 at 10:45 PM

Hi, I'm not sure exactly where the problem comes from but you might want to debug the DNN71StandaloneProvider, which is used as a workaround to handle new DNN search file format.
For some reason, they decided to discard while still supporting the former SearchInfo DNN classes, which we have been inheriting in our module.
Since we need to support former versions, and the job of migrating our code to the new ModuleSearchBase class will be quite heavy, the new model is simply converted to the former module in that dedicated provider. There, you should the the language being passed and it should come from DNN objects, so it could be a good starting point. I'm sorry I won't be able to help much more in the next days, but we're surely happy if you want to have a look.
Keep posted if you encounter issues, and someone of the team might be able to help.

Stephane_TETARD wrote Jun 1, 2015 at 7:37 AM

We just released a new version of Aricie - Shared and Lucene Search.
It might fix the following issues:
  • Indexing the latest versions of the Repository module
  • Don't index pages and modules that are not flagged for