Customizing Solr
Solr has the following configuration files:
• <$solr-home>\wblib\conf\schema.xml
• <$solr-home>\wblib\conf\solrconfig.xml
The value for <$solr-home> is the Solr home directory you specified when installing Solr with Windchill.
|
The default core is wblib. If you plan to use multicore, then this folder would be replaced by the core names.
|
Custom Solr Help Link
When you set the Search Mode preference to Advanced, a clickable link named Examples for Query Mode Syntax appears on the Advanced Search page.
Clicking this link opens a blank JSP page that can be customized according to your requirements. The customizable JSP file is named examplesForQueryModeSyntaxLink.jsp and is located under Windchill/codebase/netmarkets/jsp/search.
For keyword search examples, see
Using Advanced Search Mode.
Language Customization
To support any new language, customize indexing, or customize searching behavior for specific fields, then you must modify schema.xml.
The fields for all the languages supported in Windchill are configured out-of-the-box.
Index search queries are targeted against the Keyword field, which has the type text_rlp. For every language, Windchill defines different fields (text_ja for Japanese, text_kor for Korean, and so on).
When adding a new language, you must introduce a new field with a name of your choice. For example, the following is the entry for text_rlp:
<fieldtype name="text_rlp" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="com.ptc.search.solr.tokenization.PTCTokenizerFactory"
defaultLanguage="jpn" defaultFieldType="text"
fieldTypesPerLangauge="jpn-text_ja,eng-text,deu-text_deu,
kor-text_kor,fra-text_fr,ita-text_ita,zhs-text_zhs,ell-text_ell,ru-text_rus" />
</analyzer>
<analyzer type="query">
<tokenizer class="com.ptc.search.solr.tokenization.PTCQueryTokenizerFactory"
defaultFieldType="text"
fieldTypesPerLangauge="jpn-text_ja,eng-text,deu-text_deu,
kor-text_kor,fra-text_fr,ita-text_ita,zhs-text_zhs,ell-text_ell,ru-text_rus" />
</analyzer>
</fieldtype>
• Each language-dependent field should be mentioned in the comma-separated value given for the fieldTypesPerLangauge attributes.
• Your language-dependent value would be the ISO 639 code for the language and the field name. Use the following format:
<ISO 639 code>-<fieldName>
For example, for Japanese, ISO 639 code is jpn and the field name is text_ja. Therefore the value is jpn-text_ja.
For a list of language codes, use the following link:
• The defaultLanguage parameter sets the default language tokenizer in case the actual language of the token is not detected properly,
Parent topic