Search 如何搜索缩写词";其";至于;资讯科技服务“;在索尔
在我的数据集中,“ITS”一词的意思是“信息技术服务”。然而,当我在solr中搜索“ITS”时,我会得到像“it”、“it's”和“ITS”(形容词)这样的结果。没有任何结果与“信息技术服务”有关。为此,我如何更改Solr 下面列出了我对该字段的模式。我实际上使用了两个字段。一个有词干,另一个没有词干。但它仍然不起作用Search 如何搜索缩写词";其";至于;资讯科技服务“;在索尔,search,solr,schema,Search,Solr,Schema,在我的数据集中,“ITS”一词的意思是“信息技术服务”。然而,当我在solr中搜索“ITS”时,我会得到像“it”、“it's”和“ITS”(形容词)这样的结果。没有任何结果与“信息技术服务”有关。为此,我如何更改Solr 下面列出了我对该字段的模式。我实际上使用了两个字段。一个有词干,另一个没有词干。但它仍然不起作用 <fieldType name="text" class="solr.TextField" positionIncrementGap="100"&g
<fieldType name="text" class="solr.TextField"
positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1"
catenateWords="1" catenateNumbers="1" catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<!-- for no stemming -->
<fieldType name="text_no_stemming" class="solr.TextField"
positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1"
catenateWords="1" catenateNumbers="1" catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
您没有让Solr知道它是“信息技术服务”的同义词。您需要先执行此操作,请检查我不确定同义词过滤器是否有效。例如,假设我编写了一个简单的规则,比如it,its,it's=>informationtechnologyservice。如果文档中只包含“Itisrainy”这样的句子。这句话会被编入“信息技术服务是雨天”的索引吗?如果你的意思是“its”有时意味着信息技术服务,有时也意味着“its”,那么sorl本身无法区分这些。您可以使用一些NLP对输入进行预处理并尝试消除歧义。您是否知道任何NLP库都可以轻松集成到Solr中?set ignoreCase=“false”因此它看起来与它不同