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); }
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); } }
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); }