模式文件中特殊字符的 Solr 字段类型声明
我想存储 Building &场地维护和艺术教师/导师为categoryname,并在schema.xmltextTight
code>
<fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" ignoreCase="true" splitOnCaseChange="1" generateWordParts="1" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/> -->
<filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true" outputUnigramIfNoNgram="true" />
<!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
possible with WordDelimiterFilter in conjuncton with stemming. -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
但是当查询时 categoryname:建筑与场地维护
结果为零。字段类型声明需要进行哪些更改。请帮忙解决。
谢谢
I would like to store Building & Grounds Maintenance and Art Teacher /Tutor as categoryname and declared a field type as textTight
in schema.xml
<fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" ignoreCase="true" splitOnCaseChange="1" generateWordParts="1" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/> -->
<filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true" outputUnigramIfNoNgram="true" />
<!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
possible with WordDelimiterFilter in conjuncton with stemming. -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
but when querying forcategoryname:building & grounds maintenance
it getting zero result. What are the changes need in field type declaration. Please help to solve.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试将类别存储为关键字(不使用任何类型的标记器)。
实现这一目标的最简单方法是:
您也可以合并同义词。
You might try to store categories as keywords (without any sort of tokenizer).
the most simple way to achieve this is:
you may incorporate synonyms as well.