I've succesfully added EPiServer Search to a local EPiServer 7 site, but when trying to do the same on a test server it fails. I've added EPiServer Search to the site using deployment center (EPiServer CMS -> Version 7.0.586.1 -> Modules -> Install EPiServer Search, note that I had to check Show all sites checkbox), after installing EPiServer Search I noticed it did all the correct configuration updates, added IndexingService.svc etc, but it did not create the index folder (it added it to web.config though). I tried iisreset to force re-creating of the index and also tried using http://site/uipath/CMS/Admin/IndexContent.aspx, without success. Anything I'm missing?
First, check that you can browse these urls:
Endpoint not found.
Metod now allowed.
Anything else like 404, 401 indicates that something is funky.
If you get an 401:
Make sure that the folder IndexingService have Anonomous auth enabled in IIS.
Make sure you have wcf installed in IIS and that your handlers in web.config are correkt. <System.webbserver> <handlers> section maybe contains an <clear/>.
I was missing HTTP Activation for WCF for IIS and multiesitebindingenable=true in web.config. After I added both of these I'm now getting Endpoint not found and Method not allowed. Handlers are correct in web.config, anything else I should check? Btw on my local dev site I'm getting the same result (Endpoint not found and Method not allowed), but the indexing works, on this test server indexing is still not working. Anything else I can check?
Check access rights on the folder where your index is stored, your account running your application pool should have read and write on that folder.
If that dont do it, check your log and you could also start your indexingservice in debug mode to see if there is something else.
What version of Windows is running on the test server?
I was having some issues with indexing on a Windows Server 2008 R2 machine. Check out this post (ignore the first couple of messages): http://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=70703
Thanks for the help so far. Been out of town for a couple of days so haven't had time to test anything more. Enabled logging and checked the logs, getting this error:
2013-05-27 08:03:46,343  ERROR SearchSettings: Could not reset index '' for service uri 'http://xxxx/IndexingService/IndexingService.svc/reset/?namedindex=&accesskey=local'. Message: The underlying connection was closed: An unexpected error occurred on a receive. at System.Net.HttpWebRequest.GetResponse()
at EPiServer.Search.RequestHandler.MakeHttpRequest(String url, NamedIndexingServiceElement namedIndexingServiceElement, String method, Stream postData, Action`1 responseHandler)
at EPiServer.Search.RequestHandler.ResetIndex(String namedIndexingService, String namedIndex)
I checked access rights and they where correct for the folder. I see that the namedIndex is blank, but that shouldn't matter right since defaultIndex in web.config is set to the correct one?
Anyone seen this error before or anyway of getting more details?
Got the same error with the blank name for the index.
What I did was just to rename the client and change the accesskey on the service to match and did a reindex and it started.
Not the most scientific solution I have done but it worked for me.
<episerver.search.indexingservice> <clients><add name="kaka" description="local" allowLocal="true" readonly="false" /> </clients>
<episerver.search active="true"> <namedIndexingServices defaultService="default"> <services>
<add name="default" baseUri="http://localhost/IndexingService/IndexingService.svc" accessKey="kaka" />
Had to update the local hosts file on the server with the domain name I used and it worked after that.
Info from EPiServer Support:
The name in the URL could resolve to an address that doesn't exists locally on the machine (e.g. http://www.mysite.com/IndexingService/IndexingService.svc) in a combination with that the service is configured with ”allowLocal=true”. In that case the client will do a request to the not locally adress and then it will come back from Internet and the source IP of the request that comes back is then not local and will not be granted. So there are two ways to configure:1. Set allowLocal="true" and add the url to the hosts file (127.0.0.1 siteurl). Then the request will go locally.
<add name="local" description="local" allowLocal="true" readonly="false" /> </clients> </episerver.search.indexingservice>
2. Set allowLocal="false" and set the ipAddress attribute.
<add name="example" description="example" ipAddress="127.0.0.1/8,192.168.0.0/24" ip6Address="" allowLocal="false" readonly="true|false" /> </clients> </episerver.search.indexingservice>
I met same issue and end up by stop IIS, then remove Main and Ref from "Index" folder. After that just start indexing without reset index. Everything went well.
Note: I've also tries following step from Fredrik Vig, but still got "Could not reset index '', index '' not found"
1. Set allowLocal="true" and add the url to the hosts file (127.0.0.1 siteurl). Then the request will go locally.