0
我想用一个模式,其中一个过滤器后,被称为空格标记生成器IST之后,所有其他过滤器应适用:如何在solr中的过滤器之间使用标记器?
<filter class="solr.SynonymFilterFactory" tokenizerFactory="solr.KeywordTokenizerFactory" synonyms="german/synonyms.txt" ignoreCase="true" expand="true"/>
<!-- Case insensitive stop word removal.
add enablePositionIncrements=true in both the index and query
analyzers to leave a 'gap' for more accurate phrase queries.
-->
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="1"
preserveOriginal="1"
/>
Solr的只适用于过滤器之间的新秩序,但标记生成器被调用之前每个过滤器...
有没有人有线索?
最好的问候,hijolan
我已经尝试过使用其他tokenizer类似KeywordTokenizerFactory,并在此之后应用同义词列表。除同义词过滤器之外的所有其他过滤器都会分配额外的Whitespace-Tokenizer。这有效,我的同义词是正确的。 但是,如果我在分析器中查看,我还会使用空格将分割的字符串再次分割出来。 例如:Nullam consequat,sem vitae => Nullam consequat,sem vitae | Nullam | consequat | sem |简历 –
不确定,如果我理解你的话:'KeywordTokenizerFactory'应该处理你的单词/术语而不做任何改变。 “solr.WordDelimiterFilterFactory”可能会将您的单词/术语分割为更多的空白处。看看'solr.WordDelimiterFilterFactory'手动:'在字内分隔符(所有非字母数字字符)上进行拆分.' ...其中空格不是字母数字 –