EpiServer Search (not find)

Vote:
 

Hi,

There have been a lot of issues with episerver search (not find). I have done a lot of searching, and debugging.

https://www.jondjones.com/learn-episerver-cms/episerver-developers-tutorials/episerver-search/how-to-set-up-and-install-the-episerver-search/

https://gregwiechec.com/2015/09/episerver-search-diagnostic-tool/

Using a similar setup as below but:

ServiceLocator.Current.GetInstance<ReIndexManager>().ReIndex();

https://world.episerver.com/blogs/ravindra-s--rathore/dates/2019/9/now-you-can-reindex-a-targetted-sit

But the search returns nothing.

Rebuilding index through the scheduled job does nothing.

Same as using the real backoffice admin tool to rebuild the index.

I have even used the 

 IndexingService.DocumentAdding += IndexingServiceOnDocumentAdding;

To build custom content to search for.

Any ideas?

#220917
Edited, Apr 08, 2020 8:46
Vote:
 

The old search is based upon lucence so it will be creating indexes in your app data folder where you should see it create a load of files. You can use Luke which is a lucene viewer to check what's in the index to see if the index itself is being loaded http://www.getopt.org/luke/ you just point it to the search folder.

Also make sure everything is configured as per https://world.episerver.com/documentation/developer-guides/CMS/search/full-text-search-legacy/Installing-and-deploying-Search-Service/ which also requires having HTTP Activation feature turned on in windows IIS features.

#220918
Edited, Apr 08, 2020 8:51
Carl S - Apr 08, 2020 9:10
It seems to be correctly configured per your link. I have to check with clients IT on the HTTP Activation feature.
Scott Reed - Apr 08, 2020 9:17
One other point, and bear in mind I last used this about 5 years ago. I believe if there's problems with the indexes you should delete the index folders and restart the site then trigger the reindex, as far as I remember deleting any existing index folders that have had an error can sometimes fix an issue. So if you can do that it's worth trying, as I say it's been a while
Carl S - Apr 09, 2020 6:50
Ok will try that locally first.
Vote:
 

Also a tip, if you're not on DXP which I assume from the fact your not using Search & Navigation (formally Find) and you are still load balancing you want to configure a single box to be the search service to point all load balanced instance to, otherwise you get differging results.

#220919
Apr 08, 2020 8:53
Carl S - Apr 08, 2020 9:12
Yep have done that.
Vote:
 

Ok big clue. The custom search terms which I've added through:

IndexingService.DocumentAdding += IndexingServiceOnDocumentAdding;

Does not seem to work at all. But I'm pretty sure this have worked before.

#220975
Apr 09, 2020 11:16
Vote:
 

Another big clue, by using this:

https://gregwiechec.com/2015/09/episerver-search-diagnostic-tool/

Svc is registered on the server (web.config) but still when I go to "httts://test.customer.com/IndexingService/IndexingService.svc" I get 404, not "enpoint not found" as expected.

Comparing web.config to development (which seems to work). I see no real differences and the documentation is followed to the letter, at least in my opinion.

<handlers>
...
      <remove name="svc-Integrated-4.0"/>
      <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>

Http activation is installed. I cannot figure out what's wrong. Any ideas?

ErrorLog:

2020-04-22 00:00:10,670 [196] ERROR EPiServer.Search.Internal.RequestHandler: Update batch could not be sent to service uri 'https://test.customer.se/IndexingService/IndexingService.svc/update/?accesskey=D7184E3ED7135895A3E95AB3AB4F4AE5'
System.Net.WebException: The remote server returned an error: (404) Not Found.

So it definitly have something to do with the svc registration, have even run the "ServiceModelReg.exe -i from C:\Windows\Microsoft.NET\Framework\v3.0\Window".

#221611
Edited, Apr 22, 2020 10:09
Vote:
 

OK another clue. Removing this from web.config actually makes the search work as it should.

<security mode="Transport">
   <ansport clientCredentialType="None"></transport>
</security>

In eventlog it seems to call with http .. not https... Why?

(and yes, the address to the webservice is https)

 <episerver.search active="true" dequeuePageSize="5">
    <namedIndexingServices defaultService="serviceName">
      <services>
        <add name="serviceName" baseUri="https://test.customer.com/IndexingService/IndexingService.svc" accessKey="local" />
      </services>
    </namedIndexingServices>
    <searchResultFilter defaultInclude="true">
      <providers />
    </searchResultFilter>
  </episerver.search>
#221676
Edited, Apr 23, 2020 6:21
* 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.