Hi Nicholas,
The architecture of the module is capable of handling this scenario. I'd have to help you as this is not documented. Basically the search is split off into a provider model. There are a number of methods to implement:
Public MustOverride Sub AddDocument(ByVal Entry As Bring2mind.DNN.Modules.DMX.Business.EntryInfo, ByVal filePath As String)
Public MustOverride Sub AddDocument(ByVal Entry As Bring2mind.DNN.Modules.DMX.Business.EntryInfo)
Public MustOverride Sub ModifyDocument(ByVal Entry As Bring2mind.DNN.Modules.DMX.Business.EntryInfo)
Public MustOverride Sub RemoveDocument(ByVal Entry As Bring2mind.DNN.Modules.DMX.Business.EntryInfo)
Public MustOverride Function Maintenance() As String
Public MustOverride Function Search(ByVal PortalId As Integer, ByVal User As DotNetNuke.Entities.Users.UserInfo, ByVal PermissionKey As String, ByVal SearchTerms As List(Of SearchTerm), ByVal IncludeAllVersions As Boolean, ByVal MaxResults As Integer) As List(Of SearchResult)
Public MustOverride Function Search(ByVal PortalId As Integer, ByVal User As DotNetNuke.Entities.Users.UserInfo, ByVal PermissionKey As String, ByVal RawSearch As String, ByVal IncludeAllVersions As Boolean, ByVal MaxResults As Integer) As List(Of SearchResult)
Public MustOverride Function SupportsRanking() As Boolean
Public MustOverride Function SupportsRawSearch() As Boolean
The provider should also have a settings screen and it should be next to the other providers. That way it'll be picked up for selection by the admin. You'll probably need more details to do this, so we'll handle this as you go along.
Peter
PS, yes the Lucene provider returns Rank. I've not yet decided how to incorporate this in the UI though.