搜索
q=*%3A*&fq=grand_cat_str%3ABeklædning
Solr会将fq读作:<str name="fq">grand_cat_str:Beklædning</str>
并且不返回任何结果。对Bekl * dning进行野外搜索会返回正确的结果。
[编辑] 我添加了
<fieldType name="string" class="solr.StrField" sortMissingLast="true" >
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
</analyzer>
</fieldType>
但收到了错误:
<org.apache.solr.common.SolrException: FieldType: StrField (string) does not support specifying an analyzer
答案 0 :(得分:0)
这与Solr如何处理不在前127个ASCII字符集中的字符有关。最好的建议是将ASCIIFoldingFilterFactory分析器添加到架构中的字段grand_cat_str
。
如果您需要有关添加分析仪的指导,请参考Specifying an Analyzer in the Schema。
答案 1 :(得分:0)
如果他的语料库中的大多数文档都使用相同的语言(Dannish?)那么应用ASCIIFoldingFilterFactory很可能是一个不好的选择,取决于用户应该如何输入他们的查询。
您是否尝试过编码查询?
q=*%3A*&fq=grand_cat_str%3ABekl%C3%A6dning
应该可以正常工作
答案 2 :(得分:0)