protected override PriorityQueue <object[]> RetrieveTerms(int docNum)
        {
            var fieldNames = GetFieldNames();

            IDictionary <string, Int> termFreqMap = new Lucene.Net.Support.HashMap <string, Int>();

            foreach (var fieldName in fieldNames)
            {
                var vector = _ir.GetTermFreqVector(docNum, fieldName, _state);

                // field does not store term vector info
                if (vector == null)
                {
                    var d    = _ir.Document(docNum, _state);
                    var text = d.GetValues(fieldName, _state);
                    if (text != null)
                    {
                        foreach (var t in text)
                        {
                            AddTermFrequencies(new StringReader(t), termFreqMap, fieldName);
                        }
                    }
                }
                else
                {
                    AddTermFrequencies(termFreqMap, vector);
                }
            }

            return(CreateQueue(termFreqMap));
        }
        protected override PriorityQueue<object[]> RetrieveTerms(int docNum)
        {
            var fieldNames = GetFieldNames();

            IDictionary<string, Int> termFreqMap = new Lucene.Net.Support.HashMap<string, Int>();
            
            foreach (var fieldName in fieldNames)
            {
                var vector = _ir.GetTermFreqVector(docNum, fieldName);

                // field does not store term vector info
                if (vector == null)
                {
                    var d = _ir.Document(docNum);
                    var text = d.GetValues(fieldName);
                    if (text != null)
                    {
                        foreach (var t in text)
                        {
                            AddTermFrequencies(new StringReader(t), termFreqMap, fieldName);
                        }
                    }
                }
                else
                {
                    AddTermFrequencies(termFreqMap, vector);
                }
            }

            return CreateQueue(termFreqMap);
        }