This site has been archived. To learn more about our current products Ibexa Content, Ibexa Experience, Ibexa Commerce head over to the Ibexa Developer Portal
Monday 14 May 2012 8:34:25 pm
eZ Find version 2.6 uses Solr version 3.1, which has an internal schema that is different from previous versions. At the time of this writing, the schema.xml file distributed with eZ Find can cause problems when indexing objects with multiple locations and during wildcard searches on non-ASCII cont ent (non-English characters).
To address these problems, we need to edit the schema.xml file for each core. The following files must be modified in our example:
/srv/solr/cores/ezfindexample1/conf/schema.xml
/srv/solr/cores/ezfindexample2/conf/schema.xml
First fix the multiple location problem. Find the section beginning with this comment:
<!-- Location information ( may be multiple ) -->
Add the following element to the field definitions in this section – but ONLY if it dosn’t already exist:
<field name="meta_priority_si" type="sint" indexed="true" stored="true" multiValued="true"/> <!-- Priority -->
Now to fix the wildcard search problem (you may skip this step if you only have English-language content). Find the following element, which occurs twice in the file:
<filter class="solr.ASCIIFoldingFilterFactory"/>
Comment out both occurrences of this element (they appear around line 255 and 268):
<!--
<filter class="solr.ASCIIFoldingFilterFactory"/>
-->
Edit /var/www/ezpublish/ezfindexample1/extension/ezfind/settings/solr.ini and update the SearchServerURI setting:
SearchServerURI=http://localhost:8983/solr/ezfindexample1
Edit /var/www/ezpublish/ezfindexample2/extension/ezfind/settings/solr.ini and update the SearchServerURI setting:
SearchServerURI=http://localhost:8983/solr/ezfindexample2
NOTE: If you are curious and decide to look at the file extension/ezfind/settings/ezfind.ini, please note that the MultiCore setting under [LanguageSearch] has NOTHING to do with our multi-core setup. It is used when splitting content in different languages into its own cores, and is beyond the scope of this tutorial. Leave ezfind.ini alone for now. |