【发布时间】:2013-09-01 11:13:33
【问题描述】:
我有一个由 haystack 创建的架构,用于在 Solr 4.3 中索引书籍和作者 执行搜索时,除了包含连字符的搜索词外,一切正常。
我知道您必须使用反斜杠转义它们,但即使使用 solr Web 界面,我也无法找到正确的文档。
如下图所示,使用full_name:(ukiyo)可以找到一位名叫Ukiyo-E的作者。当输入 full_name:(ukiyo-e) 或 full_name:(ukiyo-e) 时,我什么也找不到。
编辑
架构信息:
<fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
</analyzer>
</fieldType>
...
<field name="full_name" type="edge_ngram" indexed="true" stored="true" multiValued="false" />
分析仪结果:
【问题讨论】:
标签: solr django-haystack solr4