Esempio n. 1
0
        private PropertiesDescriptor <object> CreateInterpretedFieldsPropertyDescriptor()
        {
            //have to put limit on this field because if term/string is longer than the 32766 bytes it can't be stored in Lucene
            var propDesc = new PropertiesDescriptor <object>();

            propDesc.String(desc => desc
                            .Name("raw")
                            .Index(FieldIndexOption.NotAnalyzed).IgnoreAbove(10000).IncludeInAll(false));
            var analyzerName = string.Format("{0}{1}", _analyzerPrefix, 1);

            propDesc.String(desc => desc
                            .Name("1")
                            .Analyzer(analyzerName)
                            .SearchAnalyzer(analyzerName)
                            .TermVector(TermVectorOption.WithPositionsOffsetsPayloads));

            // we only store the count for unigrams, because it's easy to calculate the others from this
            propDesc.TokenCount(desc => desc
                                .Name("1" + _tokenCountSuffix)
                                .Analyzer(analyzerName)
                                .DocValues(true)
                                .Store(true));

            return(propDesc);
        }