我正在使用solr 4.6,我在solr中定义了一个字段名称内容名称,索引为&存储为真。
<field name="content_name" type="string" indexed="true" stored="true"/>
此外,我已在复制字段中定义了此字段
<copyField source="content_name" dest="text"/>
我上传了一个名为abc.txt&amp;的内容。当我尝试使用关键字abc搜索solr时,它不会返回任何结果。我需要使用abc *或abc.xml来获取此文档。
有什么方法可以解决这个问题?
问候。
答案 0 :(得分:0)
这取决于您查询的字段,只要您查询content_name
,就需要完全匹配(或使用通配符,前缀匹配)。当您搜索abc*
或abc.xml
时,这些都是您发现的匹配项。
根据字段text
的定义,您将有更多的运气查询该字段。如果将其定义为text_general
的默认类型,则会对其进行标记化和过滤,并且根据标记生成器,text:abc
作为查询应该有效。
答案 1 :(得分:0)
谢谢,
我使用WordDelimiterFilterFactory来实现这一点。
<filter class="org.apache.solr.analysis.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="1"
splitOnCaseChange="1"
splitOnNumerics="1"
preserveOriginal="1"
stemEnglishPossessive="1"/>