コード例 #1
0
ファイル: Analysis.Ext.cs プロジェクト: stgwilli/ravendb
            public override bool IncrementToken()
            {
                int positionIncrement = 0;

                if (_buffer == null || _offset >= _length)
                {
                    if (!_input.IncrementToken())
                    {
                        return(false);
                    }

                    _offset = 0;
                    _buffer = _termAttribute.TermBuffer();
                    _length = _termAttribute.TermLength();
                    positionIncrement++;
                    _offsetInStream++;
                }

                _offsetAttribute.SetOffset(_offsetInStream, _offsetInStream + 1);
                _offsetInStream++;

                positionIncrement++;
                _positionIncrementAttribute.SetPositionIncrement(positionIncrement);

                _termAttribute.SetTermLength(1);
                _termAttribute.SetTermBuffer(_buffer[_offset++].ToString());

                return(true);
            }
コード例 #2
0
        public override bool IncrementToken()
        {
            if (input.IncrementToken())
            {
                var newLength = _stemmer.Stem(_termAttr.TermBuffer(), _termAttr.TermLength());
                _termAttr.SetTermLength(newLength);
                return(true);
            }

            return(false);
        }
コード例 #3
0
 public override bool IncrementToken()
 {
     if (input.IncrementToken())
     {
         int newlen = normalizer.Normalize(termAtt.TermBuffer(), termAtt.TermLength());
         termAtt.SetTermLength(newlen);
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #4
0
ファイル: CollationKeyFilter.cs プロジェクト: xinix00/ravendb
 public override bool IncrementToken()
 {
     if (input.IncrementToken())
     {
         char[] termBuffer    = termAtt.TermBuffer();
         var    termText      = new String(termBuffer, 0, termAtt.TermLength());
         byte[] collationKey  = cultureInfo.CompareInfo.GetSortKey(termText).KeyData;
         int    encodedLength = IndexableBinaryStringTools_UsingArrays.GetEncodedLength(collationKey);
         if (encodedLength > termBuffer.Length)
         {
             termBuffer = termAtt.ResizeTermBuffer(encodedLength);
         }
         termAtt.SetTermLength(encodedLength);
         IndexableBinaryStringTools_UsingArrays.Encode(collationKey, termBuffer);
         return(true);
     }
     return(false);
 }
コード例 #5
0
 public override bool IncrementToken()
 {
     if (input.IncrementToken())
     {
         int len = termAtt.TermLength();
         if (marker != NOMARKER)
         {
             len++;
             termAtt.ResizeTermBuffer(len);
             termAtt.TermBuffer()[len - 1] = marker;
         }
         Reverse(termAtt.TermBuffer(), len);
         termAtt.SetTermLength(len);
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #6
0
        public override bool IncrementToken()
        {
            if (input.IncrementToken() == false)
            {
                return(false);
            }

            var termBuffer    = _termAtt.TermBuffer();
            var termText      = new string(termBuffer, 0, _termAtt.TermLength());
            var collationKey  = GetCollationKey(termText);
            var encodedLength = IndexableBinaryStringTools_UsingArrays.GetEncodedLength(collationKey);

            if (encodedLength > termBuffer.Length)
            {
                termBuffer = _termAtt.ResizeTermBuffer(encodedLength);
            }

            _termAtt.SetTermLength(encodedLength);
            IndexableBinaryStringTools_UsingArrays.Encode(collationKey, termBuffer);

            return(true);
        }