Lucene Search segments to Network 'App_Data' folder
continuation of thread....
If we did use 4 instances of Sitefinity (4 subsites on 1 server) (all with the same base domain name) -
The 4 instances could all dump their indexing results in a network shared "App_Data" folder, and the Search page could then pull from that 'one' shared network folder, instead of 4 separate instances of local "App_Data" folders, right?
Would this method just require pointing the Lucene engine to the shared network "App_Data" folder, and setting sharing permissions on the Win 2008 Server?
Also, would there be a way to tell the origins of each indexed item ? i.e.
Result - xxx xxx xxx xx Recieved from Instance1 of Sitefinity
Result - yyy yyy yyy y Recieved from instance2 of Sitefinity
Also, can Sitefinity index natively multiple URLS? For instance, if we had
Could Sitefinity Lucene engine index multiples such as the Karamasoft ASP.net search Engine does?
We will definitely be using the same base url www.mainsite.com .
Thanks for your quick reply, trying to base our purchasing decision on some of these factors.
Hello Telerik Tech ,
Can you kindly leave an answer for the above question, we have a conference call tomorrow about the purchase of Sitfinity, and need to know these answers.
Thanks in advance,
Thank you for your interest in Sitefinity 4.0.
The App_Data folder should be part of the website's file structure. If you try to write to a location outside of the application's root you might have permission issues. Furthermore this is a scenario which would not work in Medium Trust at all. What you can do is to set up four different Sitefinity sites, and name their search indexes (Index 1, Index 2, etc.). Then you can set up file replication of the contents of the App_Data folder (more specifically the search indexes. You will not be able to have this working in one index as each time the files are replicated you will loose information from the other 3 instances.
The search index will give you the ability to either index the whole site map of your site, or index just a portion of the site map (pages under a specific parent page, or only public pages). Have you considered having 4 sites under one instance of Sitefinity? This will allow you to manage all sites from one place. Each site will have its own content contributors, and users from other sites will be restricted from viewing/editing content. Also this will allow you to have a global index for all your site maps (each different site)or have a separate index for each site map.
All the best,
the Telerik team
Thank you for getting back to me.
When discussing the 4 instances approach I was referring to the website root, as opposed to Sitefinity's root. What you are seeking with the search functionality will be not part of the out of the box functionality if you decide to go with 4 different instances. You would have to develop logic for replicating indexes among instances. You would also customize the way how result paths are resolved. By default we resolve paths relatively to the current web application. If you are querying a search index which is from another instance you would have to resolve links based on this instance's applciation path.
For example I have instance one where tha path is instance1.mydomain.com. On this instance I create a search index and make it a copy of a search index from instance two (instance2.mydomain.com). On instance one when I query the index which comes from instance two I would have to revise the result urls and resolve them according to instance2.mydomain.com.
Should you consider to go with 1 instance for your different business group you will be just creating 4 different search indexes - one for each site map that you have, and since all indexes will come from the same application paths will be resolved properly. Also the way permissions are applied you can separate what business groups can manage down to the single item level. For example you can configure that business group 1 can only see pages/manage which are under page named "Business Group 1." You can also restrict peoples from this group to be able to view/manage only particular blogs, libraries etc. You can even define custom toolboxes for users from different business groups.
Sitefinity is using the Provider Model. This allows you to configure multiple data providers for each functional module of the system(pages, content modules, users, roles permissions). You can configure one provider for news per business group for example. This way you can separate them even more. Users from business group 1 will be able to work on news only in the news provider for them (no one else will be able to work on news from this provider). This can be done with all other functional modules.
the Telerik team