我正在尝试为dspace重新编制索引,并使它对重音不敏感。我需要它,因为没有不敏感的结果就像:
我希望结果如下:
我已将solr / search / conf / schema.xml配置为: 添加过滤器
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<!-- Case insensitive stop word removal.
add enablePositionIncrements=true in both the index and query
analyzers to leave a 'gap' for more accurate phrase queries.
-->
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.ICUFoldingFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.ICUFoldingFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
此后,我设置了tomcat,然后重新启动它,然后使用./dspace index-discovery -b
重新索引但没有任何更改,任何人都可以提供帮助。也许在重新索引之前进行其他配置或其他步骤?
我正在使用: dspace 6
答案 0 :(得分:0)
solr.ASCIIFoldingFilterFactory应该确实删除了变音符号,以便Solr结果基于没有变音符号的值进行排序。
我怀疑您当前没有看到预期的结果,因为您已将fieldType的名称更改为“ text”。我相信Solr中作者值使用的fieldType是“ keywordFilter”。
例如:
<fieldType name="keywordFilter" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<!--Treats the entire field as a single token, regardless of its content-->
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
</analyzer>
</fieldType>
答案 1 :(得分:0)
DSpace 6.3浏览页面中存在带有重音符号和变音符号的问题,请参见例如http://jira.lyrasis.org/browse/DS-4034。 我不确定是否可以仅通过配置solr.xml来解决此问题(添加ASCIIFoldingFilterFactor似乎可以完全消除浏览页面中的重音符号和变音符号)。
DS-4034讨论https://github.com/DSpace/DSpace/pull/2276中提出的一种解决方案似乎可以解决此问题。不论口音如何,都会显示搜索结果。此外,重音符号/变音符号仍显示为列表的一部分,但不影响排序。