Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr 关键字TokenizerFactory带小写的FilterFactory_Solr_Indexing - Fatal编程技术网

Solr 关键字TokenizerFactory带小写的FilterFactory

Solr 关键字TokenizerFactory带小写的FilterFactory,solr,indexing,Solr,Indexing,我想在索引中使用NGramFilterFactory,看到了以下示例并尝试了一下: <fieldType name="NGramText" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.Lower

我想在索引中使用NGramFilterFactory,看到了以下示例并尝试了一下:

<fieldType name="NGramText" class="solr.TextField" positionIncrementGap="100">
 <analyzer type="index">
   <tokenizer class="solr.KeywordTokenizerFactory"/>  
   <filter class="solr.LowerCaseFilterFactory"/> 
   <filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="25" />

 </analyzer>
 <analyzer type="query">
 <tokenizer class="solr.KeywordTokenizerFactory"/>
 <filter class="solr.LowerCaseFilterFactory"/>
 </analyzer>
</fieldType>


<field name="mark" type="NGramText" indexed="true" stored="true" omitNorms="true" omitTermFreqAndPositions="true"/>
该示例使用关键字TokenizerFactory。使用这个的目的是什么?据我所知,它真的什么都不做,整个 输入字符串保留为它在网络上表示的单个标记

是否有充分的理由使用关键字TokenizerFactory来制作Ngrams,或者我可以将其更改为WhitespaceTokenizerFactory而不减慢搜索速度


同样在这个例子中,LowerCaseFilterFactory没有将字段设置为小写,这可能与KeywordTokenizerFactory的连接有关。

KeywordTokenizerFactory,正如您所说,它将整个字符串保留为单个标记。。我想没有充分的理由用它来生成NGRAM。。只要您想对整个字符串执行操作,就可以使用KeywordTokenizerFactory。。刻面。谢谢!您知道为什么LowerCaseFilterFactory可以使用此设置吗?您可以使用位于此URL的分析工具检查索引时间分析器正在执行的操作;http://HOST:PORT/solr//CORE/analysisWhen 使用此工具,它可以将字母转换为小写,但在编制索引时,由于某些原因,它不会这样做。