索引以下字符串的搜索:“Ordoñez”为:
text :lastname
然后搜索为:
User.solr_search do
keywords 'Ordonez'
end
将返回 0 个结果。
如何索引字符串:Ordoñez 使用 solr 并在执行搜索时获得匹配
keywords 'Ordonez'
或者keywords 'Ordoñez'
我在索引时尝试了ASCIIFoldingFilter但这并没有完成这项工作。
这是我为使这项工作所做的工作。
索引以下字符串的搜索:“Ordoñez”为:
text :lastname
然后搜索为:
User.solr_search do
keywords 'Ordonez'
end
将返回 0 个结果。
如何索引字符串:Ordoñez 使用 solr 并在执行搜索时获得匹配
keywords 'Ordonez'
或者keywords 'Ordoñez'
我在索引时尝试了ASCIIFoldingFilter但这并没有完成这项工作。
这是我为使这项工作所做的工作。
我的问题是这 3 个字段恰好未被使用。
<field name="firstname_text" type="textgen" stored="false" multiValued="true" indexed="true"/>
<field name="lastname_text" type="textgen" stored="false" multiValued="true" indexed="true"/>
<field name="specialty_text" type="textgen" stored="false" multiValued="true" indexed="true"/>
不太清楚为什么,但一旦删除它们,ASCII 过滤器就开始工作了。
ASCIIFoldingFilterFactory 确实可以完成这项工作。
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.SynonymFilterFactory"/>
</analyzer>
您可能还需要在 Container 端添加处理。
您可以检查为什么国际字符不起作用