SOLR索引最小期限大小

时间:2012-01-13 18:57:04

标签: solr

我的“文本”字段定义如下:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100" omitNorms="false">
<analyzer type="index">
    <tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="15" />
    <!-- <tokenizer class="solr.WhitespaceTokenizerFactory"/> -->
    <!-- in this example, we will only use synonyms at query time -->
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
    <charFilter class="solr.HTMLStripCharFilterFactory" />
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" />
    <filter class="solr.LowerCaseFilterFactory" />
    <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
    <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
<analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory" />
    <charFilter class="solr.HTMLStripCharFilterFactory" />
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" />
    <filter class="solr.LowerCaseFilterFactory" />
    <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
    <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>

当我通过solr admin使用Schema浏览器时,它似乎正在索引此字段的非常小的片段。我在那里看到诸如p s n之类的术语......

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果我不得不猜测我会说小字来自WordDelimiterFilterFactory

例如,&#34; j2ee&#34;等术语将被拆分并存储为三个术语&#34; j&#34;,&#34; 2&#34;和&#34; ee&#34;

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.WordDelimiterFilterFactory