Indexing Dspace作者索引不敏感重音
我正在尝试重新索引我的数据空间,使其对重音不敏感。我需要它,因为没有不敏感的资源就像:Indexing Dspace作者索引不敏感重音,indexing,solr,lucene,dspace,Indexing,Solr,Lucene,Dspace,我正在尝试重新索引我的数据空间,使其对重音不敏感。我需要它,因为没有不敏感的资源就像: 桑托斯,胡安 萨翁,阿尔伯塔省 桑切斯,佩佩 我希望资源如下: 桑切斯,佩佩 桑托斯,胡安 萨翁,阿尔伯塔省 我已将solr/search/conf/schema.xml配置为: 添加过滤器 <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> <analyzer typ
- 桑托斯,胡安
- 萨翁,阿尔伯塔省
- 桑切斯,佩佩
- 桑切斯,佩佩
- 桑托斯,胡安
- 萨翁,阿尔伯塔省
<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 6solr.ASCIIFoldingFilterFactory确实应该删除变音符号,以便根据不带变音符号的值对solr结果进行排序 我怀疑您目前没有看到预期的结果,因为您已使用名称“text”修改了fieldType。我相信作者在Solr中使用的字段类型是“关键字过滤器” 例如:
<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>
DSpace 6.3浏览带有重音符号和变音符号的页面时存在问题,请参见示例。 我不确定是否可以通过配置solr.xml来解决这个问题(添加ASCIIFoldingFilterFactor似乎可以完全消除浏览页面中的重音和变音符号) DS-4034讨论中提出的一个解决方案似乎解决了这个问题。无论口音如何,都会显示搜索结果。此外,重音/变音符号仍作为列表的一部分显示,但不影响排序