3

We have deployed the sitecore on to azure web apps. From what I read, the azure web apps instances share the common file share. For example, if we have 3xCD all of them will share the compiled code including assets and indexes etc. As a result we are getting "Lucene.Net.Store.LockObtainFailedException"

Sitecore 8.1 : Lucene.Net.Store.LockObtainFailedException

If we have 3xCD , is it possible to configure each CD instance to share the common lucene index so that each instances doesn't try to rebuilt the index.

Community
  • 1
  • 1
Nil Pun
  • 17,035
  • 39
  • 172
  • 294

2 Answers2

1

No. Lucene indexes are local to the Sitecore server. You'll need to use Solr to achieve what you want. One of the reasons the Solr option was introduced was to solve this problem. It provides access to the index over HTTP.

The following Stack Overflow question was answered by one of the architects of the Sitecore ContentSearch functionality:

When to definitely use SOLR over Lucene in a Sitecore 7 build?

It discusses the pros and cons of Solr vs Lucene.

Community
  • 1
  • 1
Martin Davies
  • 4,436
  • 3
  • 19
  • 40
0

Martin is correct. Lucene indexes can not be shared and Solr's can be. However, I would add Coveo is a viable option as well and provides more out of the box functionality around search.

You can learn more about coveo here

Casey
  • 805
  • 4
  • 10
  • Coveo is a viable option for site search functionality but not recommended for content search to replace the Lucene indexes. – Jean-François L'Heureux Jun 30 '16 at 13:35
  • @jflheureux can you share the documentation for that? I would like to understand how a site search, which is a search of content, is somehow different than a content search. – Casey Jun 30 '16 at 14:16
  • Hi @Casey, this article sums it up very well: http://andyuzick.arke.com/2016/06/content-indexing-vs-site-search.html – Jean-François L'Heureux Jul 04 '16 at 13:27
  • @jflheureux great article but this doesn't say coveo is not recommended for content search. In fact, it almost suggest using Coveo as well because it provides content indexing which out of the box can also be utilized for site search. After seeing Coveo utilized at several different clients now I can confidently say it works great for indexing content and site search. – Casey Jul 04 '16 at 14:07
  • At the time of Sitecore 7.0-7.1, only one Sitecore search provider was allowed. Thus, Coveo had to replace Lucene for all the Sitecore indexes (Core, Master, Web) and index all the items with the fields Sitecore use in its various tools. Coveo was used for content and site search. Coveo offering adds a lot of value for site search (OOTB UI components, REST API, indexing securities, LINQ to search provider API support...) but it doesn't add anything to content search (queries made by the Sitecore content editor and other Sitecore tools) except a unified index compared to Lucene. – Jean-François L'Heureux Jul 04 '16 at 17:27
  • From Sitecore 7.2, it is now possible to run multiple search providers at the same time. Thus Coveo can define its own smaller indexes for site search only and let Lucene or SOLR be the index for content search. In Coveo for Sitecore 3.0, we decided to keep replacing Lucene in versions for Sitecore 7.2-7.5 to avoid confusing existing users. In Sitecore 7.5 a very big analytics index was introduced. In Sitecore 8.0, about 11 new indexes were introduced. – Jean-François L'Heureux Jul 04 '16 at 17:27
  • Coveo decided to be side-by-side for Sitecore 8.0-8.1 and in Coveo for Sitecore 4.0, we decided to be side-by-side for all supported Sitecore versions (7.2+) because our added value is really for site search, not for content search. Sure, you can use Coveo to be the content search index too. But this is not the default configuration nor a supported use case of the product. We do not recommend this setup because all the indexing and queries for content search may slow down the queries for the site search users which is what should be prioritized. – Jean-François L'Heureux Jul 04 '16 at 17:27
  • @jflheureux yea understood. A little bit of a misunderstanding because it doesn't make sense to replace the indexes Sitecore uses internally but if the site utilizes any sort of custom indexing outside of site search I think it still makes sense to use coveo for those indexes. – Casey Jul 04 '16 at 19:11
  • Yes, you can definitely use Coveo for custom indexing used to display indexed documents on the website by running LINQ or REST queries. To use Coveo UI components, there's a requirement to have the items indexed in a single index per database (no custom Sitecore indexes) due to the way the components automatically determine which index to use from the context. But for LINQ queries, you can have separate Sitecore indexes without problem. – Jean-François L'Heureux Jul 04 '16 at 19:40
  • Thanks for the explanation! – Casey Jul 04 '16 at 20:12