lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nightowl...@apache.org
Subject [18/62] [abbrv] lucenenet git commit: Deleted obsolete Contrib folder
Date Sat, 01 Apr 2017 01:09:11 GMT
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/SpanGradientFormatter.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/SpanGradientFormatter.cs b/src/contrib/Highlighter/SpanGradientFormatter.cs
deleted file mode 100644
index 369e8fa..0000000
--- a/src/contrib/Highlighter/SpanGradientFormatter.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Text;
-
-namespace Lucene.Net.Search.Highlight
-{
-    /// <summary>
-    /// Formats text with different color intensity depending on the score of the
-    /// term using the span tag.  GradientFormatter uses a bgcolor argument to the font tag which
-    /// doesn't work in Mozilla, thus this class.
-    /// </summary>
-    /// <seealso cref="GradientFormatter"/>
-    public class SpanGradientFormatter : GradientFormatter
-    {
-        // guess how much extra text we'll add to the text we're highlighting to try to avoid a  StringBuilder resize
-        private static readonly String TEMPLATE = "<span style=\"background: #EEEEEE; color: #000000;\">...</span>";
-        private static readonly int EXTRA = TEMPLATE.Length;
-
-        public SpanGradientFormatter(float maxScore, String minForegroundColor,
-                                     String maxForegroundColor, String minBackgroundColor,
-                                     String maxBackgroundColor)
-            : base(maxScore, minForegroundColor, maxForegroundColor, minBackgroundColor, maxBackgroundColor)
-        { }
-
-        public override String HighlightTerm(String originalText, TokenGroup tokenGroup)
-        {
-            if (tokenGroup.TotalScore == 0)
-                return originalText;
-            float score = tokenGroup.TotalScore;
-            if (score == 0)
-            {
-                return originalText;
-            }
-
-            // try to size sb correctly
-            var sb = new StringBuilder(originalText.Length + EXTRA);
-
-            sb.Append("<span style=\"");
-            if (highlightForeground)
-            {
-                sb.Append("color: ");
-                sb.Append(GetForegroundColorString(score));
-                sb.Append("; ");
-            }
-            if (highlightBackground)
-            {
-                sb.Append("background: ");
-                sb.Append(GetBackgroundColorString(score));
-                sb.Append("; ");
-            }
-            sb.Append("\">");
-            sb.Append(originalText);
-            sb.Append("</span>");
-            return sb.ToString();
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/TextFragment.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/TextFragment.cs b/src/contrib/Highlighter/TextFragment.cs
deleted file mode 100644
index d522593..0000000
--- a/src/contrib/Highlighter/TextFragment.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Text;
-
-namespace Lucene.Net.Search.Highlight
-{
-    /// <summary> Low-level class used to record information about a section of a document 
-    /// with a score.
-    /// </summary>
-    public class TextFragment
-    {
-        private StringBuilder markedUpText;
-
-
-        public TextFragment(StringBuilder markedUpText, int textStartPos, int fragNum)
-        {
-            this.markedUpText = markedUpText;
-            this.TextStartPos = textStartPos;
-            this.FragNum = fragNum;
-        }
-
-        public float Score { get; protected internal set; }
-        public int TextEndPos { get; protected internal set; }
-        public int TextStartPos { get; protected internal set; }
-
-        /// <summary>
-        /// the fragment sequence number
-        /// </summary>
-        public int FragNum { get; protected internal set; }
-
-
-        /// <summary></summary>
-        /// <param name="frag2">Fragment to be merged into this one</param>
-        public void Merge(TextFragment frag2)
-        {
-            TextEndPos = frag2.TextEndPos;
-            Score = Math.Max(Score, frag2.Score);
-        }
-
-        /// <summary>
-        /// true if this fragment follows the one passed
-        /// </summary>
-        public bool Follows(TextFragment fragment)
-        {
-            return TextStartPos == fragment.TextEndPos;
-        }
-
-        /// <summary>
-        /// Returns the marked-up text for this text fragment 
-        /// </summary>
-        public override String ToString()
-        {
-            return markedUpText.ToString(TextStartPos, TextEndPos - TextStartPos);
-        }
-
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/TokenGroup.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/TokenGroup.cs b/src/contrib/Highlighter/TokenGroup.cs
deleted file mode 100644
index 6f84f6c..0000000
--- a/src/contrib/Highlighter/TokenGroup.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using Lucene.Net.Analysis;
-using Lucene.Net.Analysis.Tokenattributes;
-
-namespace Lucene.Net.Search.Highlight
-{
-    /// <summary> One, or several overlapping tokens, along with the score(s) and the
-    /// scope of the original text
-    /// </summary>
-    public class TokenGroup
-    {
-        private static readonly int MAX_NUM_TOKENS_PER_GROUP = 50;
-
-        private Token[] tokens = new Token[MAX_NUM_TOKENS_PER_GROUP];
-        private float[] scores = new float[MAX_NUM_TOKENS_PER_GROUP];
-        private int startOffset = 0;
-        private int endOffset = 0;
-        private float tot;
-
-        public int MatchStartOffset { get; private set; }
-        public int MatchEndOffset { get; private set; }
-        public int NumTokens { get; private set; }
-
-        private IOffsetAttribute offsetAtt;
-        private ITermAttribute termAtt;
-
-        public TokenGroup(TokenStream tokenStream)
-        {
-            NumTokens = 0;
-            offsetAtt = tokenStream.AddAttribute<IOffsetAttribute>();
-            termAtt = tokenStream.AddAttribute<ITermAttribute>();
-        }
-
-        protected internal void AddToken(float score)
-        {
-            if (NumTokens < MAX_NUM_TOKENS_PER_GROUP)
-            {
-                int termStartOffset = offsetAtt.StartOffset;
-                int termEndOffset = offsetAtt.EndOffset;
-                if (NumTokens == 0)
-                {
-                    startOffset = MatchStartOffset = termStartOffset;
-                    endOffset = MatchEndOffset = termEndOffset;
-                    tot += score;
-                }
-                else
-                {
-                    startOffset = Math.Min(startOffset, termStartOffset);
-                    endOffset = Math.Max(endOffset, termEndOffset);
-                    if (score > 0)
-                    {
-                        if (tot == 0)
-                        {
-                            MatchStartOffset = offsetAtt.StartOffset;
-                            MatchEndOffset = offsetAtt.EndOffset;
-                        }
-                        else
-                        {
-                            MatchStartOffset = Math.Min(MatchStartOffset, termStartOffset);
-                            MatchEndOffset = Math.Max(MatchEndOffset, termEndOffset);
-                        }
-                        tot += score;
-                    }
-                }
-                Token token = new Token(termStartOffset, termEndOffset);
-                token.SetTermBuffer(termAtt.Term);
-                tokens[NumTokens] = token;
-                scores[NumTokens] = score;
-                NumTokens++;
-            }
-        }
-
-        protected internal bool IsDistinct()
-        {
-            return offsetAtt.StartOffset >= endOffset;
-        }
-
-        protected internal void Clear()
-        {
-            NumTokens = 0;
-            tot = 0;
-        }
-
-
-        /// <summary>
-        /// the "n"th token
-        /// </summary>
-        /// <param name="index">a value between 0 and numTokens -1</param>
-        public Token GetToken(int index)
-        {
-            return tokens[index];
-        }
-
-        /// <summary>
-        /// the "n"th score
-        /// </summary>
-        /// <param name="index">a value between 0 and numTokens -1</param>
-        public float GetScore(int index)
-        {
-            return scores[index];
-        }
-
-        /// <summary>
-        /// the end position in the original text
-        /// </summary>
-        public int EndOffset
-        {
-            get { return endOffset; }
-        }
-        
-        /// <summary>
-        /// The start position in the original text
-        /// </summary>
-        public int StartOffset
-        {
-            get { return startOffset; }
-        }
-
-        /// <summary>
-        /// All tokens' scores summed up
-        /// </summary>
-        public float TotalScore
-        {
-            get { return tot; }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/TokenSources.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/TokenSources.cs b/src/contrib/Highlighter/TokenSources.cs
deleted file mode 100644
index 745ac2a..0000000
--- a/src/contrib/Highlighter/TokenSources.cs
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* Created on 28-Oct-2004
-*/
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using Lucene.Net.Analysis;
-using Lucene.Net.Analysis.Tokenattributes;
-using Lucene.Net.Documents;
-using Lucene.Net.Index;
-
-namespace Lucene.Net.Search.Highlight
-{
-
-    /// <summary> Hides implementation issues associated with obtaining a TokenStream for use with
-    /// the higlighter - can obtain from TermFreqVectors with offsets and (optionally) positions or
-    /// from Analyzer class reparsing the stored content. 
-    /// </summary>
-    public class TokenSources
-    {
-        public class StoredTokenStream : TokenStream
-        {
-            protected internal Token[] tokens;
-            protected internal int currentToken = 0;
-            protected internal ITermAttribute termAtt;
-            protected internal IOffsetAttribute offsetAtt;
-
-            protected internal StoredTokenStream(Token[] tokens)
-            {
-                this.tokens = tokens;
-                termAtt = AddAttribute<ITermAttribute>();
-                offsetAtt = AddAttribute<IOffsetAttribute>();
-            }
-
-            public override bool IncrementToken()
-            {
-                if (currentToken >= tokens.Length)
-                {
-                    return false;
-                }
-                ClearAttributes();
-                Token token = tokens[currentToken++];
-                termAtt.SetTermBuffer(token.Term);
-                offsetAtt.SetOffset(token.StartOffset, token.EndOffset);
-                return true;
-            }
-
-            protected override void Dispose(bool disposing)
-            {
-                // do nothing
-            }
-        }
-
-        /// <summary>
-        /// A convenience method that tries to first get a TermPositionVector for the specified docId, then, falls back to
-        /// using the passed in {@link org.apache.lucene.document.Document} to retrieve the TokenStream.  This is useful when
-        /// you already have the document, but would prefer to use the vector first.
-        /// </summary>
-        /// <param name="reader">The <see cref="IndexReader"/> to use to try and get the vector from</param>
-        /// <param name="docId">The docId to retrieve.</param>
-        /// <param name="field">The field to retrieve on the document</param>
-        /// <param name="doc">The document to fall back on</param>
-        /// <param name="analyzer">The analyzer to use for creating the TokenStream if the vector doesn't exist</param>
-        /// <returns>The <see cref="TokenStream"/> for the <see cref="IFieldable"/> on the <see cref="Document"/></returns>
-        /// <exception cref="IOException">if there was an error loading</exception>
-        public static TokenStream GetAnyTokenStream(IndexReader reader, int docId, String field, Document doc,
-                                                    Analyzer analyzer)
-        {
-            TokenStream ts = null;
-
-            var tfv = reader.GetTermFreqVector(docId, field);
-            if (tfv != null)
-            {
-                var termPositionVector = tfv as TermPositionVector;
-                if (termPositionVector != null)
-                {
-                    ts = GetTokenStream(termPositionVector);
-                }
-            }
-            //No token info stored so fall back to analyzing raw content
-            return ts ?? GetTokenStream(doc, field, analyzer);
-        }
-
-        /// <summary>
-        /// A convenience method that tries a number of approaches to getting a token stream.
-        /// The cost of finding there are no termVectors in the index is minimal (1000 invocations still 
-        /// registers 0 ms). So this "lazy" (flexible?) approach to coding is probably acceptable
-        /// </summary>
-        /// <returns>null if field not stored correctly</returns>
-        public static TokenStream GetAnyTokenStream(IndexReader reader, int docId, String field, Analyzer analyzer)
-        {
-            TokenStream ts = null;
-
-            var tfv = reader.GetTermFreqVector(docId, field);
-            if (tfv != null)
-            {
-                var termPositionVector = tfv as TermPositionVector;
-                if (termPositionVector != null)
-                {
-                    ts = GetTokenStream(termPositionVector);
-                }
-            }
-            //No token info stored so fall back to analyzing raw content
-            return ts ?? GetTokenStream(reader, docId, field, analyzer);
-        }
-
-        public static TokenStream GetTokenStream(TermPositionVector tpv)
-        {
-            //assumes the worst and makes no assumptions about token position sequences.
-            return GetTokenStream(tpv, false);
-        }
-
-        /// <summary>
-        /// Low level api.
-        /// Returns a token stream or null if no offset info available in index.
-        /// This can be used to feed the highlighter with a pre-parsed token stream 
-        /// 
-        /// In my tests the speeds to recreate 1000 token streams using this method are:
-        /// - with TermVector offset only data stored - 420  milliseconds 
-        /// - with TermVector offset AND position data stored - 271 milliseconds
-        ///  (nb timings for TermVector with position data are based on a tokenizer with contiguous
-        ///  positions - no overlaps or gaps)
-        /// The cost of not using TermPositionVector to store
-        /// pre-parsed content and using an analyzer to re-parse the original content: 
-        /// - reanalyzing the original content - 980 milliseconds
-        /// 
-        /// The re-analyze timings will typically vary depending on -
-        ///     1) The complexity of the analyzer code (timings above were using a 
-        ///        stemmer/lowercaser/stopword combo)
-        ///  2) The  number of other fields (Lucene reads ALL fields off the disk 
-        ///     when accessing just one document field - can cost dear!)
-        ///  3) Use of compression on field storage - could be faster due to compression (less disk IO)
-        ///     or slower (more CPU burn) depending on the content.
-        /// </summary>
-        /// <param name="tpv"/>
-        /// <param name="tokenPositionsGuaranteedContiguous">true if the token position numbers have no overlaps or gaps. If looking
-        /// to eek out the last drops of performance, set to true. If in doubt, set to false.</param>
-        public static TokenStream GetTokenStream(TermPositionVector tpv, bool tokenPositionsGuaranteedContiguous)
-        {
-            //code to reconstruct the original sequence of Tokens
-            String[] terms = tpv.GetTerms();
-            int[] freq = tpv.GetTermFrequencies();
-
-            int totalTokens = freq.Sum();
-
-            var tokensInOriginalOrder = new Token[totalTokens];
-            List<Token> unsortedTokens = null;
-            for (int t = 0; t < freq.Length; t++)
-            {
-                TermVectorOffsetInfo[] offsets = tpv.GetOffsets(t);
-                if (offsets == null)
-                {
-                    return null;
-                }
-
-                int[] pos = null;
-                if (tokenPositionsGuaranteedContiguous)
-                {
-                    //try get the token position info to speed up assembly of tokens into sorted sequence
-                    pos = tpv.GetTermPositions(t);
-                }
-                if (pos == null)
-                {
-                    //tokens NOT stored with positions or not guaranteed contiguous - must add to list and sort later
-                    if (unsortedTokens == null)
-                    {
-                        unsortedTokens = new List<Token>();
-                    }
-
-                    foreach (TermVectorOffsetInfo t1 in offsets)
-                    {
-                        var token = new Token(t1.StartOffset, t1.EndOffset);
-                        token.SetTermBuffer(terms[t]);
-                        unsortedTokens.Add(token);
-                    }
-                }
-                else
-                {
-                    //We have positions stored and a guarantee that the token position information is contiguous
-
-                    // This may be fast BUT wont work if Tokenizers used which create >1 token in same position or
-                    // creates jumps in position numbers - this code would fail under those circumstances
-
-                    //tokens stored with positions - can use this to index straight into sorted array
-                    for (int tp = 0; tp < pos.Length; tp++)
-                    {
-                        var token = new Token(terms[t], offsets[tp].StartOffset, offsets[tp].EndOffset);
-                        tokensInOriginalOrder[pos[tp]] = token;
-                    }
-                }
-            }
-            //If the field has been stored without position data we must perform a sort        
-            if (unsortedTokens != null)
-            {
-                tokensInOriginalOrder = unsortedTokens.ToArray();
-                Array.Sort(tokensInOriginalOrder, (t1, t2) =>
-                                                      {
-                                                          if (t1.StartOffset > t2.EndOffset)
-                                                              return 1;
-                                                          if (t1.StartOffset < t2.StartOffset)
-                                                              return -1;
-                                                          return 0;
-                                                      });
-            }
-            return new StoredTokenStream(tokensInOriginalOrder);
-        }
-
-        public static TokenStream GetTokenStream(IndexReader reader, int docId, System.String field)
-        {
-            var tfv = reader.GetTermFreqVector(docId, field);
-            if (tfv == null)
-            {
-                throw new ArgumentException(field + " in doc #" + docId
-                                            + "does not have any term position data stored");
-            }
-            if (tfv is TermPositionVector)
-            {
-                var tpv = (TermPositionVector) reader.GetTermFreqVector(docId, field);
-                return GetTokenStream(tpv);
-            }
-            throw new ArgumentException(field + " in doc #" + docId
-                                        + "does not have any term position data stored");
-        }
-
-        //convenience method
-        public static TokenStream GetTokenStream(IndexReader reader, int docId, String field, Analyzer analyzer)
-        {
-            Document doc = reader.Document(docId);
-            return GetTokenStream(doc, field, analyzer);
-        }
-
-        public static TokenStream GetTokenStream(Document doc, String field, Analyzer analyzer)
-        {
-            String contents = doc.Get(field);
-            if (contents == null)
-            {
-                throw new ArgumentException("Field " + field + " in document is not stored and cannot be analyzed");
-            }
-            return GetTokenStream(field, contents, analyzer);
-        }
-
-        //convenience method
-        public static TokenStream GetTokenStream(String field, String contents, Analyzer analyzer)
-        {
-            return analyzer.TokenStream(field, new StringReader(contents));
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/WeightedSpanTerm.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/WeightedSpanTerm.cs b/src/contrib/Highlighter/WeightedSpanTerm.cs
deleted file mode 100644
index d89b915..0000000
--- a/src/contrib/Highlighter/WeightedSpanTerm.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Lucene.Net.Search.Highlight
-{
-    /// <summary>
-    /// Lightweight class to hold term, Weight, and positions used for scoring this term.
-    /// </summary>
-    public class WeightedSpanTerm : WeightedTerm
-    {
-        private bool _positionSensitive;
-        private readonly List<PositionSpan> _positionSpans = new List<PositionSpan>();
-
-        public WeightedSpanTerm(float weight, String term)
-            : base(weight, term)
-        {
-
-            this._positionSpans = new List<PositionSpan>();
-        }
-
-        public WeightedSpanTerm(float weight, String term, bool positionSensitive)
-            : base(weight, term)
-        {
-
-            this._positionSensitive = positionSensitive;
-        }
-
-        /// <summary>
-        /// Checks to see if this term is valid at <c>position</c>.
-        /// </summary>
-        /// <param name="position">to check against valid term postions</param>
-        /// <returns>true iff this term is a hit at this position</returns>
-        public bool CheckPosition(int position)
-        {
-            // There would probably be a slight speed improvement if PositionSpans
-            // where kept in some sort of priority queue - that way this method
-            // could
-            // bail early without checking each PositionSpan.
-
-            foreach (var positionSpan in _positionSpans)
-            {
-                if (((position >= positionSpan.Start) && (position <= positionSpan.End)))
-                {
-                    return true;
-                }
-            }
-
-            return false;
-        }
-
-        public void AddPositionSpans(List<PositionSpan> positionSpans)
-        {
-            this._positionSpans.AddRange(positionSpans);
-        }
-
-        public bool IsPositionSensitive()
-        {
-            return _positionSensitive;
-        }
-
-        public void SetPositionSensitive(bool positionSensitive)
-        {
-            this._positionSensitive = positionSensitive;
-        }
-
-        public List<PositionSpan> GetPositionSpans()
-        {
-            return _positionSpans;
-        }
-    }
-
-
-    // Utility class to store a Span
-    public class PositionSpan
-    {
-        public int Start { get; private set; }
-        public int End { get; private set; }
-
-        public PositionSpan(int start, int end)
-        {
-            this.Start = start;
-            this.End = end;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/WeightedSpanTermExtractor.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/WeightedSpanTermExtractor.cs b/src/contrib/Highlighter/WeightedSpanTermExtractor.cs
deleted file mode 100644
index df7a90f..0000000
--- a/src/contrib/Highlighter/WeightedSpanTermExtractor.cs
+++ /dev/null
@@ -1,667 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using Lucene.Net.Analysis;
-using Lucene.Net.Index;
-using Lucene.Net.Index.Memory;
-using Lucene.Net.Search.Spans;
-using Lucene.Net.Store;
-using Lucene.Net.Support;
-using Lucene.Net.Util;
-
-namespace Lucene.Net.Search.Highlight
-{
-    /// <summary>
-    /// Class used to extract <see cref="WeightedSpanTerm"/>s from a <see cref="Query"/> based on whether 
-    /// <see cref="Term"/>s from the <see cref="Query"/> are contained in a supplied <see cref="Analysis.TokenStream"/>.
-    /// </summary>
-    public class WeightedSpanTermExtractor
-    {
-        private String fieldName;
-        private TokenStream tokenStream;
-        private IDictionary<String, IndexReader> readers = new HashMap<String, IndexReader>(10);
-        private String defaultField;
-        private bool expandMultiTermQuery;
-        private bool cachedTokenStream;
-        private bool wrapToCaching = true;
-
-        public WeightedSpanTermExtractor()
-        {
-        }
-
-        public WeightedSpanTermExtractor(String defaultField)
-        {
-            if (defaultField != null)
-            {
-                this.defaultField = StringHelper.Intern(defaultField);
-            }
-        }
-
-        private void CloseReaders()
-        {
-            ICollection<IndexReader> readerSet = readers.Values;
-
-            foreach (IndexReader reader in readerSet)
-            {
-                try
-                {
-                    reader.Close();
-                }
-                catch (IOException e)
-                {
-                    // alert?
-                }
-            }
-        }
-
-        /// <summary>
-        /// Fills a <c>Map</c> with <see cref="WeightedSpanTerm"/>s using the terms from the supplied <c>Query</c>.
-        /// </summary>
-        /// <param name="query">Query to extract Terms from</param>
-        /// <param name="terms">Map to place created WeightedSpanTerms in</param>
-        private void Extract(Query query, IDictionary<String, WeightedSpanTerm> terms)
-        {
-            if (query is BooleanQuery)
-            {
-                BooleanClause[] queryClauses = ((BooleanQuery) query).GetClauses();
-
-                for (int i = 0; i < queryClauses.Length; i++)
-                {
-                    if (!queryClauses[i].IsProhibited)
-                    {
-                        Extract(queryClauses[i].Query, terms);
-                    }
-                }
-            }
-            else if (query is PhraseQuery)
-            {
-                PhraseQuery phraseQuery = ((PhraseQuery) query);
-                Term[] phraseQueryTerms = phraseQuery.GetTerms();
-                SpanQuery[] clauses = new SpanQuery[phraseQueryTerms.Length];
-                for (int i = 0; i < phraseQueryTerms.Length; i++)
-                {
-                    clauses[i] = new SpanTermQuery(phraseQueryTerms[i]);
-                }
-                int slop = phraseQuery.Slop;
-                int[] positions = phraseQuery.GetPositions();
-                // add largest position increment to slop
-                if (positions.Length > 0)
-                {
-                    int lastPos = positions[0];
-                    int largestInc = 0;
-                    int sz = positions.Length;
-                    for (int i = 1; i < sz; i++)
-                    {
-                        int pos = positions[i];
-                        int inc = pos - lastPos;
-                        if (inc > largestInc)
-                        {
-                            largestInc = inc;
-                        }
-                        lastPos = pos;
-                    }
-                    if (largestInc > 1)
-                    {
-                        slop += largestInc;
-                    }
-                }
-
-                bool inorder = slop == 0;
-
-                SpanNearQuery sp = new SpanNearQuery(clauses, slop, inorder);
-                sp.Boost = query.Boost;
-                ExtractWeightedSpanTerms(terms, sp);
-            }
-            else if (query is TermQuery)
-            {
-                ExtractWeightedTerms(terms, query);
-            }
-            else if (query is SpanQuery)
-            {
-                ExtractWeightedSpanTerms(terms, (SpanQuery) query);
-            }
-            else if (query is FilteredQuery)
-            {
-                Extract(((FilteredQuery) query).Query, terms);
-            }
-            else if (query is DisjunctionMaxQuery)
-            {
-                foreach (var q in ((DisjunctionMaxQuery) query))
-                {
-                    Extract(q, terms);
-                }
-            }
-            else if (query is MultiTermQuery && expandMultiTermQuery)
-            {
-                MultiTermQuery mtq = ((MultiTermQuery) query);
-                if (mtq.RewriteMethod != MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE)
-                {
-                    mtq = (MultiTermQuery) mtq.Clone();
-                    mtq.RewriteMethod = MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE;
-                    query = mtq;
-                }
-                FakeReader fReader = new FakeReader();
-                MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE.Rewrite(fReader, mtq);
-                if (fReader.Field != null)
-                {
-                    IndexReader ir = GetReaderForField(fReader.Field);
-                    Extract(query.Rewrite(ir), terms);
-                }
-            }
-            else if (query is MultiPhraseQuery)
-            {
-                MultiPhraseQuery mpq = (MultiPhraseQuery) query;
-                IList<Term[]> termArrays = mpq.GetTermArrays();
-                int[] positions = mpq.GetPositions();
-                if (positions.Length > 0)
-                {
-
-                    int maxPosition = positions[positions.Length - 1];
-                    for (int i = 0; i < positions.Length - 1; ++i)
-                    {
-                        if (positions[i] > maxPosition)
-                        {
-                            maxPosition = positions[i];
-                        }
-                    }
-
-                    var disjunctLists = new List<SpanQuery>[maxPosition + 1];
-                    int distinctPositions = 0;
-
-                    for (int i = 0; i < termArrays.Count; ++i)
-                    {
-                        Term[] termArray = termArrays[i];
-                        List<SpanQuery> disjuncts = disjunctLists[positions[i]];
-                        if (disjuncts == null)
-                        {
-                            disjuncts = (disjunctLists[positions[i]] = new List<SpanQuery>(termArray.Length));
-                            ++distinctPositions;
-                        }
-                        for (int j = 0; j < termArray.Length; ++j)
-                        {
-                            disjuncts.Add(new SpanTermQuery(termArray[j]));
-                        }
-                    }
-
-                    int positionGaps = 0;
-                    int position = 0;
-                    SpanQuery[] clauses = new SpanQuery[distinctPositions];
-                    for (int i = 0; i < disjunctLists.Length; ++i)
-                    {
-                        List<SpanQuery> disjuncts = disjunctLists[i];
-                        if (disjuncts != null)
-                        {
-                            clauses[position++] = new SpanOrQuery(disjuncts.ToArray());
-                        }
-                        else
-                        {
-                            ++positionGaps;
-                        }
-                    }
-
-                    int slop = mpq.Slop;
-                    bool inorder = (slop == 0);
-
-                    SpanNearQuery sp = new SpanNearQuery(clauses, slop + positionGaps, inorder);
-                    sp.Boost = query.Boost;
-                    ExtractWeightedSpanTerms(terms, sp);
-                }
-            }
-        }
-
-        /// <summary>
-        /// Fills a <c>Map</c> with <see cref="WeightedSpanTerm"/>s using the terms from the supplied <c>SpanQuery</c>.
-        /// </summary>
-        /// <param name="terms">Map to place created WeightedSpanTerms in</param>
-        /// <param name="spanQuery">SpanQuery to extract Terms from</param>
-        private void ExtractWeightedSpanTerms(IDictionary<String, WeightedSpanTerm> terms, SpanQuery spanQuery)
-        {
-            HashSet<String> fieldNames;
-
-            if (fieldName == null)
-            {
-                fieldNames = new HashSet<String>();
-                CollectSpanQueryFields(spanQuery, fieldNames);
-            }
-            else
-            {
-                fieldNames = new HashSet<String>();
-                fieldNames.Add(fieldName);
-            }
-            // To support the use of the default field name
-            if (defaultField != null)
-            {
-                fieldNames.Add(defaultField);
-            }
-
-            IDictionary<String, SpanQuery> queries = new HashMap<String, SpanQuery>();
-
-            var nonWeightedTerms = Support.Compatibility.SetFactory.CreateHashSet<Term>();
-            bool mustRewriteQuery = MustRewriteQuery(spanQuery);
-            if (mustRewriteQuery)
-            {
-                foreach (String field in fieldNames)
-                {
-                    SpanQuery rewrittenQuery = (SpanQuery) spanQuery.Rewrite(GetReaderForField(field));
-                    queries[field] = rewrittenQuery;
-                    rewrittenQuery.ExtractTerms(nonWeightedTerms);
-                }
-            }
-            else
-            {
-                spanQuery.ExtractTerms(nonWeightedTerms);
-            }
-
-            List<PositionSpan> spanPositions = new List<PositionSpan>();
-
-            foreach (String field in fieldNames)
-            {
-
-                IndexReader reader = GetReaderForField(field);
-                Spans.Spans spans;
-                if (mustRewriteQuery)
-                {
-                    spans = queries[field].GetSpans(reader);
-                }
-                else
-                {
-                    spans = spanQuery.GetSpans(reader);
-                }
-
-
-                // collect span positions
-                while (spans.Next())
-                {
-                    spanPositions.Add(new PositionSpan(spans.Start(), spans.End() - 1));
-                }
-
-            }
-
-            if (spanPositions.Count == 0)
-            {
-                // no spans found
-                return;
-            }
-
-            foreach (Term queryTerm in nonWeightedTerms)
-            {
-
-                if (FieldNameComparator(queryTerm.Field))
-                {
-                    WeightedSpanTerm weightedSpanTerm = terms[queryTerm.Text];
-
-                    if (weightedSpanTerm == null)
-                    {
-                        weightedSpanTerm = new WeightedSpanTerm(spanQuery.Boost, queryTerm.Text);
-                        weightedSpanTerm.AddPositionSpans(spanPositions);
-                        weightedSpanTerm.SetPositionSensitive(true);
-                        terms[queryTerm.Text] = weightedSpanTerm;
-                    }
-                    else
-                    {
-                        if (spanPositions.Count > 0)
-                        {
-                            weightedSpanTerm.AddPositionSpans(spanPositions);
-                        }
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        /// Fills a <c>Map</c> with <see cref="WeightedSpanTerm"/>s using the terms from the supplied <c>Query</c>.
-        /// </summary>
-        /// <param name="terms"></param>
-        /// <param name="query"></param>
-        private void ExtractWeightedTerms(IDictionary<String, WeightedSpanTerm> terms, Query query)
-        {
-            var nonWeightedTerms = Support.Compatibility.SetFactory.CreateHashSet<Term>();
-            query.ExtractTerms(nonWeightedTerms);
-
-            foreach (Term queryTerm in nonWeightedTerms)
-            {
-
-                if (FieldNameComparator(queryTerm.Field))
-                {
-                    WeightedSpanTerm weightedSpanTerm = new WeightedSpanTerm(query.Boost, queryTerm.Text);
-                    terms[queryTerm.Text] = weightedSpanTerm;
-                }
-            }
-        }
-
-        /// <summary>
-        /// Necessary to implement matches for queries against <c>defaultField</c>
-        /// </summary>
-        private bool FieldNameComparator(String fieldNameToCheck)
-        {
-            bool rv = fieldName == null || fieldNameToCheck == fieldName
-                      || fieldNameToCheck == defaultField;
-            return rv;
-        }
-
-        private IndexReader GetReaderForField(String field)
-        {
-            if (wrapToCaching && !cachedTokenStream && !(tokenStream is CachingTokenFilter))
-            {
-                tokenStream = new CachingTokenFilter(tokenStream);
-                cachedTokenStream = true;
-            }
-            IndexReader reader = readers[field];
-            if (reader == null)
-            {
-                MemoryIndex indexer = new MemoryIndex();
-                indexer.AddField(field, tokenStream);
-                tokenStream.Reset();
-                IndexSearcher searcher = indexer.CreateSearcher();
-                reader = searcher.IndexReader;
-                readers[field] = reader;
-            }
-
-            return reader;
-        }
-
-        /// <summary>
-        /// Creates a Map of <c>WeightedSpanTerms</c> from the given <c>Query</c> and <c>TokenStream</c>.
-        /// </summary>
-        /// <param name="query">query that caused hit</param>
-        /// <param name="tokenStream">TokenStream of text to be highlighted</param>
-        /// <returns>Map containing WeightedSpanTerms</returns>
-        public IDictionary<String, WeightedSpanTerm> GetWeightedSpanTerms(Query query, TokenStream tokenStream)
-        {
-            return GetWeightedSpanTerms(query, tokenStream, null);
-        }
-
-
-        /// <summary>
-        /// Creates a Map of <c>WeightedSpanTerms</c> from the given <c>Query</c> and <c>TokenStream</c>.
-        /// </summary>
-        /// <param name="query">query that caused hit</param>
-        /// <param name="tokenStream">tokenStream of text to be highlighted</param>
-        /// <param name="fieldName">restricts Term's used based on field name</param>
-        /// <returns>Map containing WeightedSpanTerms</returns>
-        public IDictionary<String, WeightedSpanTerm> GetWeightedSpanTerms(Query query, TokenStream tokenStream,
-                                                                          String fieldName)
-        {
-            if (fieldName != null)
-            {
-                this.fieldName = StringHelper.Intern(fieldName);
-            }
-            else
-            {
-                this.fieldName = null;
-            }
-
-            IDictionary<String, WeightedSpanTerm> terms = new PositionCheckingMap<String>();
-            this.tokenStream = tokenStream;
-            try
-            {
-                Extract(query, terms);
-            }
-            finally
-            {
-                CloseReaders();
-            }
-
-            return terms;
-        }
-
-        /// <summary>
-        /// Creates a Map of <c>WeightedSpanTerms</c> from the given <c>Query</c> and <c>TokenStream</c>. Uses a supplied
-        /// <c>IndexReader</c> to properly Weight terms (for gradient highlighting).
-        /// </summary>
-        /// <param name="query">Query that caused hit</param>
-        /// <param name="tokenStream">Tokenstream of text to be highlighted</param>
-        /// <param name="fieldName">restricts Term's used based on field name</param>
-        /// <param name="reader">to use for scoring</param>
-        /// <returns>Map of WeightedSpanTerms with quasi tf/idf scores</returns>
-        public IDictionary<String, WeightedSpanTerm> GetWeightedSpanTermsWithScores(Query query, TokenStream tokenStream,
-                                                                                    String fieldName, IndexReader reader)
-        {
-            if (fieldName != null)
-            {
-                this.fieldName = StringHelper.Intern(fieldName);
-            }
-            else
-            {
-                this.fieldName = null;
-            }
-            this.tokenStream = tokenStream;
-
-            IDictionary<String, WeightedSpanTerm> terms = new PositionCheckingMap<String>();
-            Extract(query, terms);
-
-            int totalNumDocs = reader.NumDocs();
-            var weightedTerms = terms.Keys;
-
-            try
-            {
-                foreach (var wt in weightedTerms)
-                {
-                    WeightedSpanTerm weightedSpanTerm = terms[wt];
-                    int docFreq = reader.DocFreq(new Term(fieldName, weightedSpanTerm.Term));
-                    // docFreq counts deletes
-                    if (totalNumDocs < docFreq)
-                    {
-                        docFreq = totalNumDocs;
-                    }
-                    // IDF algorithm taken from DefaultSimilarity class
-                    float idf = (float) (Math.Log((float) totalNumDocs/(double) (docFreq + 1)) + 1.0);
-                    weightedSpanTerm.Weight *= idf;
-                }
-            }
-            finally
-            {
-
-                CloseReaders();
-            }
-
-            return terms;
-        }
-
-        private void CollectSpanQueryFields(SpanQuery spanQuery, HashSet<String> fieldNames)
-        {
-            if (spanQuery is FieldMaskingSpanQuery)
-            {
-                CollectSpanQueryFields(((FieldMaskingSpanQuery) spanQuery).MaskedQuery, fieldNames);
-            }
-            else if (spanQuery is SpanFirstQuery)
-            {
-                CollectSpanQueryFields(((SpanFirstQuery) spanQuery).Match, fieldNames);
-            }
-            else if (spanQuery is SpanNearQuery)
-            {
-                foreach (SpanQuery clause in ((SpanNearQuery) spanQuery).GetClauses())
-                {
-                    CollectSpanQueryFields(clause, fieldNames);
-                }
-            }
-            else if (spanQuery is SpanNotQuery)
-            {
-                CollectSpanQueryFields(((SpanNotQuery) spanQuery).Include, fieldNames);
-            }
-            else if (spanQuery is SpanOrQuery)
-            {
-                foreach (SpanQuery clause in ((SpanOrQuery) spanQuery).GetClauses())
-                {
-                    CollectSpanQueryFields(clause, fieldNames);
-                }
-            }
-            else
-            {
-                fieldNames.Add(spanQuery.Field);
-            }
-        }
-
-        private bool MustRewriteQuery(SpanQuery spanQuery)
-        {
-            if (!expandMultiTermQuery)
-            {
-                return false; // Will throw UnsupportedOperationException in case of a SpanRegexQuery.
-            }
-            else if (spanQuery is FieldMaskingSpanQuery)
-            {
-                return MustRewriteQuery(((FieldMaskingSpanQuery)spanQuery).MaskedQuery);
-            }
-            else if (spanQuery is SpanFirstQuery)
-            {
-                return MustRewriteQuery(((SpanFirstQuery)spanQuery).Match);
-            }
-            else if (spanQuery is SpanNearQuery)
-            {
-                foreach (SpanQuery clause in ((SpanNearQuery) spanQuery).GetClauses())
-                {
-                    if (MustRewriteQuery(clause))
-                    {
-                        return true;
-                    }
-                }
-                return false;
-            }
-            else if (spanQuery is SpanNotQuery)
-            {
-                SpanNotQuery spanNotQuery = (SpanNotQuery) spanQuery;
-                return MustRewriteQuery(spanNotQuery.Include) || MustRewriteQuery(spanNotQuery.Exclude);
-            }
-            else if (spanQuery is SpanOrQuery)
-            {
-                foreach (SpanQuery clause in ((SpanOrQuery) spanQuery).GetClauses())
-                {
-                    if (MustRewriteQuery(clause))
-                    {
-                        return true;
-                    }
-                }
-                return false;
-            }
-            else if (spanQuery is SpanTermQuery)
-            {
-                return false;
-            }
-            else
-            {
-                return true;
-            }
-        }
-
-        
-        /// <summary>
-        /// This class makes sure that if both position sensitive and insensitive
-        /// versions of the same term are added, the position insensitive one wins.
-        /// </summary>
-        /// <typeparam name="K"></typeparam>
-        private class PositionCheckingMap<K> : HashMap<K, WeightedSpanTerm>
-        {
-            public PositionCheckingMap()
-            {
-
-            }
-
-            public PositionCheckingMap(IEnumerable<KeyValuePair<K, WeightedSpanTerm>> m)
-            {
-                PutAll(m);
-            }
-
-            public void PutAll(IEnumerable<KeyValuePair<K, WeightedSpanTerm>> m)
-            {
-                foreach (var entry in m)
-                {
-                    Add(entry.Key, entry.Value);
-                }
-            }
-
-            public override void Add(K key, WeightedSpanTerm value)
-            {
-                base.Add(key, value);
-                WeightedSpanTerm prev = this[key];
-
-                if (prev == null) return;
-
-                WeightedSpanTerm prevTerm = prev;
-                WeightedSpanTerm newTerm = value;
-                if (!prevTerm.IsPositionSensitive())
-                {
-                    newTerm.SetPositionSensitive(false);
-                }
-            }
-
-        }
-
-        public bool ExpandMultiTermQuery
-        {
-            set { this.expandMultiTermQuery = value; }
-            get { return expandMultiTermQuery; }
-        }
-
-        public bool IsCachedTokenStream
-        {
-            get { return cachedTokenStream; }
-        }
-
-        public TokenStream TokenStream
-        {
-            get { return tokenStream; }
-        }
-
-
-        /// <summary>
-        /// By default, <see cref="Analysis.TokenStream"/>s that are not of the type
-        /// <see cref="CachingTokenFilter"/> are wrapped in a <see cref="CachingTokenFilter"/> to
-        /// <see cref="Analysis.TokenStream"/> impl and you don't want it to be wrapped, set this to
-        /// false.
-        /// </summary>
-        public void SetWrapIfNotCachingTokenFilter(bool wrap)
-        {
-            this.wrapToCaching = wrap;
-        }
-
-        /// <summary>
-        /// A fake IndexReader class to extract the field from a MultiTermQuery
-        /// </summary>
-        protected internal sealed class FakeReader : FilterIndexReader
-        {
-
-            private static IndexReader EMPTY_MEMORY_INDEX_READER = new MemoryIndex().CreateSearcher().IndexReader;
-
-            public String Field { get; private set; }
-
-            protected internal FakeReader()
-                : base(EMPTY_MEMORY_INDEX_READER)
-            {
-
-            }
-
-            public override TermEnum Terms(Term t)
-            {
-                // only set first fieldname, maybe use a Set?
-                if (t != null && Field == null)
-                    Field = t.Field;
-                return base.Terms(t);
-            }
-
-
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Highlighter/WeightedTerm.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Highlighter/WeightedTerm.cs b/src/contrib/Highlighter/WeightedTerm.cs
deleted file mode 100644
index cfe3e12..0000000
--- a/src/contrib/Highlighter/WeightedTerm.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-
-namespace Lucene.Net.Search.Highlight
-{
-    /// <summary>
-    /// Lightweight class to hold term and a Weight value used for scoring this term
-    /// </summary>
-    public class WeightedTerm
-    {
-        public WeightedTerm(float weight, String term)
-        {
-            this.Weight = weight;
-            this.Term = term;
-        }
-
-        /// <summary>
-        /// the term value (stemmed)
-        /// </summary>
-        public string Term { get; set; }
-
-        /// <summary>
-        /// the Weight associated with this term
-        /// </summary>
-        /// <value> </value>
-        public float Weight { get; set; }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Memory/CollectionsHelper.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Memory/CollectionsHelper.cs b/src/contrib/Memory/CollectionsHelper.cs
deleted file mode 100644
index 4fdcd98..0000000
--- a/src/contrib/Memory/CollectionsHelper.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Lucene.Net.Index.Memory
-{
-    internal static class CollectionsHelper<T>
-    {
-        private static readonly T[] EmptyArray = new T[0];
-
-        /// <summary>
-        /// Returns an empty list of type T
-        /// </summary>
-        public static IList<T> EmptyList()
-        {
-            return EmptyArray;
-        }
-    }
-
-    public static class CollectionsExtensions
-    {
-        public static ICollection<T> AsReadOnly<T>(this ICollection<T> collection)
-        {
-            return new ReadOnlyCollection<T>(collection);
-        }
-
-        private sealed class ReadOnlyCollection<T> : ICollection<T>
-        {
-            private readonly ICollection<T> _other;
-
-            public ReadOnlyCollection(ICollection<T> other)
-            {
-                _other = other;
-            }
-
-            public IEnumerator<T> GetEnumerator()
-            {
-                return _other.GetEnumerator();
-            }
-
-            IEnumerator IEnumerable.GetEnumerator()
-            {
-                return GetEnumerator();
-            }
-
-            public void Add(T item)
-            {
-                throw new NotSupportedException("Collection is read only!");
-            }
-
-            public void Clear()
-            {
-                throw new NotSupportedException("Collection is read only!");
-            }
-
-            public bool Contains(T item)
-            {
-                return _other.Contains(item);
-            }
-
-            public void CopyTo(T[] array, int arrayIndex)
-            {
-                _other.CopyTo(array, arrayIndex);
-            }
-
-            public bool Remove(T item)
-            {
-                throw new NotSupportedException("Collection is read only!");
-            }
-
-            public int Count
-            {
-                get { return _other.Count; }
-            }
-
-            public bool IsReadOnly
-            {
-                get { return true; }
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Memory/Contrib.Memory.csproj
----------------------------------------------------------------------
diff --git a/src/contrib/Memory/Contrib.Memory.csproj b/src/contrib/Memory/Contrib.Memory.csproj
deleted file mode 100644
index 030890a..0000000
--- a/src/contrib/Memory/Contrib.Memory.csproj
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{112B9A7C-29CC-4539-8F5A-45669C07CD4D}</ProjectGuid>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Lucene.Net.Index.Memory</RootNamespace>
-    <AssemblyName>Lucene.Net.Contrib.Memory</AssemblyName>
-    <FileAlignment>512</FileAlignment>
-    <TargetFrameworkProfile />
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <Framework>$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", ""))</Framework>
-    <OutputPath>..\..\..\build\bin\contrib\Memory\$(Configuration.Replace("35", ""))\$(Framework)\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <DefineConstants>DEBUG;TRACE;$(Framework)</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <OutputType>Library</OutputType>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug35|AnyCPU' ">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <Framework>$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", ""))</Framework>
-    <OutputPath>..\..\..\build\bin\contrib\Memory\$(Configuration.Replace("35", ""))\$(Framework)\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <DefineConstants>DEBUG;TRACE;$(Framework)</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <OutputType>Library</OutputType>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <Framework>$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", ""))</Framework>
-    <OutputPath>..\..\..\build\bin\contrib\Memory\$(Configuration.Replace("35", ""))\$(Framework)\</OutputPath>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE;$(Framework)</DefineConstants>
-    <DocumentationFile>..\..\..build\bin\contrib\Memory\$(Configuration.Replace("35", ""))\$(Framework)\Lucene.Net.Contrib.Memory.XML</DocumentationFile>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DebugSymbols>true</DebugSymbols>
-    <OutputType>Library</OutputType>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release35|AnyCPU' ">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <Framework>$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", ""))</Framework>
-    <OutputPath>..\..\..\build\bin\contrib\Memory\$(Configuration.Replace("35", ""))\$(Framework)\</OutputPath>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE;$(Framework)</DefineConstants>
-    <DocumentationFile>..\..\..build\bin\contrib\Memory\$(Configuration.Replace("35", ""))\$(Framework)\Lucene.Net.Contrib.Memory.XML</DocumentationFile>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DebugSymbols>true</DebugSymbols>
-    <OutputType>Library</OutputType>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>Lucene.Net.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Condition="'$(Framework)' == 'NET35'" Include="System.Core" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" Condition="'$(Framework)' != 'NET35'" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="CollectionsHelper.cs" />
-    <Compile Include="EmptyCollector.cs" />
-    <Compile Include="KeywordTokenStream.cs" />
-    <Compile Include="MemoryIndex.cs" />
-    <Compile Include="MemoryTermPositionVector.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="TermComparer.cs" />
-    <Compile Include="MemoryTermEnum.cs" />
-    <Compile Include="MemoryTermPositions.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\core\Lucene.Net.csproj">
-      <Project>{5d4ad9be-1ffb-41ab-9943-25737971bf57}</Project>
-      <Name>Lucene.Net</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Lucene.Net.snk" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Memory/EmptyCollector.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Memory/EmptyCollector.cs b/src/contrib/Memory/EmptyCollector.cs
deleted file mode 100644
index 022b3fe..0000000
--- a/src/contrib/Memory/EmptyCollector.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Lucene.Net.Search;
-
-namespace Lucene.Net.Index.Memory
-{
-    public partial class MemoryIndex
-    {
-        /// <summary>
-        /// Fills the given float array with the values
-        /// as the collector scores the search
-        /// </summary>
-        private sealed class FillingCollector : Collector
-        {
-            private readonly float[] _scores;
-            private Scorer _scorer;
-
-            public FillingCollector(float[] scores)
-            {
-                _scores = scores;
-            }
-
-            public override void SetScorer(Scorer scorer)
-            {
-                _scorer = scorer;
-            }
-
-            public override void Collect(int doc)
-            {
-                _scores[0] = _scorer.Score();
-            }
-
-            public override void SetNextReader(IndexReader reader, int docBase)
-            { }
-
-            public override bool AcceptsDocsOutOfOrder
-            {
-                get { return true; }
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/02362804/src/contrib/Memory/KeywordTokenStream.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Memory/KeywordTokenStream.cs b/src/contrib/Memory/KeywordTokenStream.cs
deleted file mode 100644
index 5e9a8e7..0000000
--- a/src/contrib/Memory/KeywordTokenStream.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Lucene.Net.Analysis;
-using Lucene.Net.Analysis.Tokenattributes;
-
-namespace Lucene.Net.Index.Memory
-{
-    public partial class MemoryIndex
-    {
-        private sealed class KeywordTokenStream<T> : TokenStream
-        {
-            private IEnumerator<T> iter;
-            private int start = 0;
-            private ITermAttribute termAtt;
-            private IOffsetAttribute offsetAtt;
-
-            public KeywordTokenStream(IEnumerable<T> keywords)
-            {
-                iter = keywords.GetEnumerator();
-                termAtt = AddAttribute<ITermAttribute>();
-                offsetAtt = AddAttribute<IOffsetAttribute>();
-            }
-
-            public override bool IncrementToken()
-            {
-                if (!iter.MoveNext()) return false;
-
-                T obj = iter.Current;
-                if (obj == null)
-                    throw new ArgumentException("keyword must not be null");
-
-                String term = obj.ToString();
-                ClearAttributes();
-                termAtt.SetTermBuffer(term);
-                offsetAtt.SetOffset(start, start + termAtt.TermLength());
-                start += term.Length + 1; // separate words by 1 (blank) character
-                return true;
-            }
-
-            protected override void Dispose(bool disposing)
-            {
-            }
-        }
-    }
-}


Mime
View raw message