In pre-EPiFind days we built a custom search solution on top of Lucene.NET.
For different types of documents (people, news, articles, etc.) we needed different set of fields, queries, boost values, etc.
Ted Nyberg wrote a great article about extending EPiServer Search: http://tedgustaf.com/blog/2013/4/add-custom-fields-to-the-episerver-search-index-with-episerver-7/
For me, it was easier to write my own solution on top of Lucene.NET because EPiServer search couldn't index blocks, we had to index data from external systems, etc.
With a big number of documents, Lucene.NET was quite painful to work with.
It's difficult to figure out why some documents are ranked higher than others, why does your query return Product A but not Product B, etc.
Then it was between Solr and Elasticsearch.I prefer Solr because it has amazing dashboard which saved me a lot of time. I can see what's indexed without using external tools like Luke, analyze queries and documents, etc.
On EPiServer side, I use:
- EPiServer API to get all pages that should be indexed. They usually implement some custom interface and have ExcludeFromSearchIndex property
- HtmlAgilityPack to parse the HTML (I don't know if data comes from EPi only)
- page / block published events to re-index affected page(s)
Thanks for the post. I did read Ted's post you referenced to.
As a general question, are the EPiServer Relate Community and Blog included as part of indexing or is there something special required so they get indexed? This is what we have for episerver search in our webconfig. What items of a episerver page are indexed?
<episerver.search active="true">
<namedIndexingServices defaultService="serviceName">
<services>
<add name="serviceName" baseUri="http://www.mywebsite.com/IndexingService/IndexingService.svc" accessKey="local" />
<!--<add name="serviceName" baseUri="http://localhost:8090/IndexingService/IndexingService.svc" accessKey="local"/>-->
</services>
</namedIndexingServices>
<searchResultFilter defaultInclude="true">
<providers />
</searchResultFilter>
</episerver.search>
What I'm finding is that EPiServer.Community.Blog is not being indexed. I reindexed the search service but this did not help. I was under the impression that Community was indexed when implementing episerver.search. Can anyone shed some light on this?
I'm trying to undersatnd the limitations and abilities for EPIServer Full-Text FTS Search. We have implemented Full-Text Seach (episerver.search) but I'm not sure how to intergrate Relate+ Community or Blogs search funtionality. I've search the documentation but can not find anything that says that implementing episerver.search also includes Relate+ Community or Blogs. Do I need to configure Relate+ Community as a sepeate search?
How can we intergrate non-EPiServer searching in to EPIServer Full-Text Search?
I've downloaded the Relate+ SDK help file but it doesn't really work that well.