Click here to Skip to main content
15,896,606 members
Articles / Web Development / ASP.NET

Lucene.net in asp.net simple example

Rate me:
Please Sign up or sign in to vote.
2.69/5 (11 votes)
19 Oct 2008CPOL1 min read 65K   5.1K   32  
How to use lucene.net api from c# in asp.net enviroment
  • luceneexample.zip
  • luceneforgodaddy.zip
    • luceneForGodaddy
      • .svn
        • dir-wcprops
        • empty-file
        • entries
        • format
        • prop-base
          • AssemblyInfo.cs.svn-base
          • Lucene.Net.Search.RemoteSearchable.config.svn-base
          • Lucene.Net.Search.TestSort.config.svn-base
          • Lucene.Net.sln.svn-base
          • Lucene.Net.xml.svn-base
          • Lucene.Net-2.3.1.ndoc.svn-base
          • Lucene.Net-2.3.1-VS2005.csproj.svn-base
          • Lucene.Net-2.3.1-VS2005.sln.svn-base
          • LucenePackage.cs.svn-base
          • Overview.html.svn-base
          • Package.html.svn-base
          • SharpZipLibAdapter.cs.svn-base
          • SupportClass.cs.svn-base
        • props
          • AssemblyInfo.cs.svn-work
          • Lucene.Net.Search.RemoteSearchable.config.svn-work
          • Lucene.Net.Search.TestSort.config.svn-work
          • Lucene.Net.sln.svn-work
          • Lucene.Net.xml.svn-work
          • Lucene.Net-2.3.1.ndoc.svn-work
          • Lucene.Net-2.3.1-VS2005.csproj.svn-work
          • Lucene.Net-2.3.1-VS2005.sln.svn-work
          • LucenePackage.cs.svn-work
          • Overview.html.svn-work
          • Package.html.svn-work
          • SharpZipLibAdapter.cs.svn-work
          • SupportClass.cs.svn-work
        • README.txt
        • text-base
          • AssemblyInfo.cs.svn-base
          • Lucene.Net.Search.RemoteSearchable.config.svn-base
          • Lucene.Net.Search.TestSort.config.svn-base
          • Lucene.Net.sln.svn-base
          • Lucene.Net.xml.svn-base
          • Lucene.Net-2.3.1.ndoc.svn-base
          • Lucene.Net-2.3.1-VS2005.csproj.svn-base
          • Lucene.Net-2.3.1-VS2005.sln.svn-base
          • LucenePackage.cs.svn-base
          • Overview.html.svn-base
          • Package.html.svn-base
          • SharpZipLibAdapter.cs.svn-base
          • SupportClass.cs.svn-base
        • tmp
          • prop-base
          • props
          • text-base
          • wcprops
        • wcprops
          • AssemblyInfo.cs.svn-work
          • Lucene.Net.Search.RemoteSearchable.config.svn-work
          • Lucene.Net.Search.TestSort.config.svn-work
          • Lucene.Net.sln.svn-work
          • Lucene.Net.xml.svn-work
          • Lucene.Net-2.3.1.ndoc.svn-work
          • Lucene.Net-2.3.1-VS2005.csproj.svn-work
          • Lucene.Net-2.3.1-VS2005.sln.svn-work
          • LucenePackage.cs.svn-work
          • Overview.html.svn-work
          • Package.html.svn-work
          • SharpZipLibAdapter.cs.svn-work
          • SupportClass.cs.svn-work
      • Analysis
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • Analyzer.cs.svn-base
            • CachingTokenFilter.cs.svn-base
            • CharArraySet.cs.svn-base
            • CharTokenizer.cs.svn-base
            • ISOLatin1AccentFilter.cs.svn-base
            • KeywordAnalyzer.cs.svn-base
            • KeywordTokenizer.cs.svn-base
            • LengthFilter.cs.svn-base
            • LetterTokenizer.cs.svn-base
            • LowerCaseFilter.cs.svn-base
            • LowerCaseTokenizer.cs.svn-base
            • Package.html.svn-base
            • PerFieldAnalyzerWrapper.cs.svn-base
            • PorterStemFilter.cs.svn-base
            • PorterStemmer.cs.svn-base
            • SimpleAnalyzer.cs.svn-base
            • SinkTokenizer.cs.svn-base
            • StopAnalyzer.cs.svn-base
            • StopFilter.cs.svn-base
            • TeeTokenFilter.cs.svn-base
            • Token.cs.svn-base
            • TokenFilter.cs.svn-base
            • Tokenizer.cs.svn-base
            • TokenStream.cs.svn-base
            • WhitespaceAnalyzer.cs.svn-base
            • WhitespaceTokenizer.cs.svn-base
            • WordlistLoader.cs.svn-base
          • props
            • Analyzer.cs.svn-work
            • CachingTokenFilter.cs.svn-work
            • CharArraySet.cs.svn-work
            • CharTokenizer.cs.svn-work
            • ISOLatin1AccentFilter.cs.svn-work
            • KeywordAnalyzer.cs.svn-work
            • KeywordTokenizer.cs.svn-work
            • LengthFilter.cs.svn-work
            • LetterTokenizer.cs.svn-work
            • LowerCaseFilter.cs.svn-work
            • LowerCaseTokenizer.cs.svn-work
            • Package.html.svn-work
            • PerFieldAnalyzerWrapper.cs.svn-work
            • PorterStemFilter.cs.svn-work
            • PorterStemmer.cs.svn-work
            • SimpleAnalyzer.cs.svn-work
            • SinkTokenizer.cs.svn-work
            • StopAnalyzer.cs.svn-work
            • StopFilter.cs.svn-work
            • TeeTokenFilter.cs.svn-work
            • Token.cs.svn-work
            • TokenFilter.cs.svn-work
            • Tokenizer.cs.svn-work
            • TokenStream.cs.svn-work
            • WhitespaceAnalyzer.cs.svn-work
            • WhitespaceTokenizer.cs.svn-work
            • WordlistLoader.cs.svn-work
          • README.txt
          • text-base
            • Analyzer.cs.svn-base
            • CachingTokenFilter.cs.svn-base
            • CharArraySet.cs.svn-base
            • CharTokenizer.cs.svn-base
            • ISOLatin1AccentFilter.cs.svn-base
            • KeywordAnalyzer.cs.svn-base
            • KeywordTokenizer.cs.svn-base
            • LengthFilter.cs.svn-base
            • LetterTokenizer.cs.svn-base
            • LowerCaseFilter.cs.svn-base
            • LowerCaseTokenizer.cs.svn-base
            • Package.html.svn-base
            • PerFieldAnalyzerWrapper.cs.svn-base
            • PorterStemFilter.cs.svn-base
            • PorterStemmer.cs.svn-base
            • SimpleAnalyzer.cs.svn-base
            • SinkTokenizer.cs.svn-base
            • StopAnalyzer.cs.svn-base
            • StopFilter.cs.svn-base
            • TeeTokenFilter.cs.svn-base
            • Token.cs.svn-base
            • TokenFilter.cs.svn-base
            • Tokenizer.cs.svn-base
            • TokenStream.cs.svn-base
            • WhitespaceAnalyzer.cs.svn-base
            • WhitespaceTokenizer.cs.svn-base
            • WordlistLoader.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • Analyzer.cs.svn-work
            • CachingTokenFilter.cs.svn-work
            • CharArraySet.cs.svn-work
            • CharTokenizer.cs.svn-work
            • ISOLatin1AccentFilter.cs.svn-work
            • KeywordAnalyzer.cs.svn-work
            • KeywordTokenizer.cs.svn-work
            • LengthFilter.cs.svn-work
            • LetterTokenizer.cs.svn-work
            • LowerCaseFilter.cs.svn-work
            • LowerCaseTokenizer.cs.svn-work
            • Package.html.svn-work
            • PerFieldAnalyzerWrapper.cs.svn-work
            • PorterStemFilter.cs.svn-work
            • PorterStemmer.cs.svn-work
            • SimpleAnalyzer.cs.svn-work
            • SinkTokenizer.cs.svn-work
            • StopAnalyzer.cs.svn-work
            • StopFilter.cs.svn-work
            • TeeTokenFilter.cs.svn-work
            • Token.cs.svn-work
            • TokenFilter.cs.svn-work
            • Tokenizer.cs.svn-work
            • TokenStream.cs.svn-work
            • WhitespaceAnalyzer.cs.svn-work
            • WhitespaceTokenizer.cs.svn-work
            • WordlistLoader.cs.svn-work
        • Analyzer.cs
        • CachingTokenFilter.cs
        • CharArraySet.cs
        • CharTokenizer.cs
        • ISOLatin1AccentFilter.cs
        • KeywordAnalyzer.cs
        • KeywordTokenizer.cs
        • LengthFilter.cs
        • LetterTokenizer.cs
        • LowerCaseFilter.cs
        • LowerCaseTokenizer.cs
        • Package.html
        • PerFieldAnalyzerWrapper.cs
        • PorterStemFilter.cs
        • PorterStemmer.cs
        • SimpleAnalyzer.cs
        • SinkTokenizer.cs
        • Standard
          • .svn
            • dir-wcprops
            • empty-file
            • entries
            • format
            • prop-base
              • Package.html.svn-base
              • StandardAnalyzer.cs.svn-base
              • StandardFilter.cs.svn-base
              • StandardTokenizer.cs.svn-base
              • StandardTokenizer.jj.svn-base
              • StandardTokenizerImpl.cs.svn-base
              • StandardTokenizerImpl.jflex.svn-base
              • TokenMgrError.cs.svn-base
            • props
              • Package.html.svn-work
              • StandardAnalyzer.cs.svn-work
              • StandardFilter.cs.svn-work
              • StandardTokenizer.cs.svn-work
              • StandardTokenizer.jj.svn-work
              • StandardTokenizerImpl.cs.svn-work
              • StandardTokenizerImpl.jflex.svn-work
              • TokenMgrError.cs.svn-work
            • README.txt
            • text-base
              • Package.html.svn-base
              • StandardAnalyzer.cs.svn-base
              • StandardFilter.cs.svn-base
              • StandardTokenizer.cs.svn-base
              • StandardTokenizer.jj.svn-base
              • StandardTokenizerImpl.cs.svn-base
              • StandardTokenizerImpl.jflex.svn-base
              • TokenMgrError.cs.svn-base
            • tmp
              • prop-base
              • props
              • text-base
              • wcprops
            • wcprops
              • Package.html.svn-work
              • StandardAnalyzer.cs.svn-work
              • StandardFilter.cs.svn-work
              • StandardTokenizer.cs.svn-work
              • StandardTokenizer.jj.svn-work
              • StandardTokenizerImpl.cs.svn-work
              • StandardTokenizerImpl.jflex.svn-work
              • TokenMgrError.cs.svn-work
          • Package.html
          • StandardAnalyzer.cs
          • StandardFilter.cs
          • StandardTokenizer.cs
          • StandardTokenizer.jj
          • StandardTokenizerImpl.cs
          • StandardTokenizerImpl.jflex
          • TokenMgrError.cs
        • StopAnalyzer.cs
        • StopFilter.cs
        • TeeTokenFilter.cs
        • Token.cs
        • TokenFilter.cs
        • Tokenizer.cs
        • TokenStream.cs
        • WhitespaceAnalyzer.cs
        • WhitespaceTokenizer.cs
        • WordlistLoader.cs
      • AssemblyInfo.cs
      • bin
        • Debug
          • Lucene.Net.dll
          • Lucene.Net.pdb
      • deneme.pfx
      • Document
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • AbstractField.cs.svn-base
            • DateField.cs.svn-base
            • DateTools.cs.svn-base
            • Document.cs.svn-base
            • Field.cs.svn-base
            • Fieldable.cs.svn-base
            • FieldSelector.cs.svn-base
            • FieldSelectorResult.cs.svn-base
            • LoadFirstFieldSelector.cs.svn-base
            • MapFieldSelector.cs.svn-base
            • NumberTools.cs.svn-base
            • Package.html.svn-base
            • SetBasedFieldSelector.cs.svn-base
          • props
            • AbstractField.cs.svn-work
            • DateField.cs.svn-work
            • DateTools.cs.svn-work
            • Document.cs.svn-work
            • Field.cs.svn-work
            • Fieldable.cs.svn-work
            • FieldSelector.cs.svn-work
            • FieldSelectorResult.cs.svn-work
            • LoadFirstFieldSelector.cs.svn-work
            • MapFieldSelector.cs.svn-work
            • NumberTools.cs.svn-work
            • Package.html.svn-work
            • SetBasedFieldSelector.cs.svn-work
          • README.txt
          • text-base
            • AbstractField.cs.svn-base
            • DateField.cs.svn-base
            • DateTools.cs.svn-base
            • Document.cs.svn-base
            • Field.cs.svn-base
            • Fieldable.cs.svn-base
            • FieldSelector.cs.svn-base
            • FieldSelectorResult.cs.svn-base
            • LoadFirstFieldSelector.cs.svn-base
            • MapFieldSelector.cs.svn-base
            • NumberTools.cs.svn-base
            • Package.html.svn-base
            • SetBasedFieldSelector.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • AbstractField.cs.svn-work
            • DateField.cs.svn-work
            • DateTools.cs.svn-work
            • Document.cs.svn-work
            • Field.cs.svn-work
            • Fieldable.cs.svn-work
            • FieldSelector.cs.svn-work
            • FieldSelectorResult.cs.svn-work
            • LoadFirstFieldSelector.cs.svn-work
            • MapFieldSelector.cs.svn-work
            • NumberTools.cs.svn-work
            • Package.html.svn-work
            • SetBasedFieldSelector.cs.svn-work
        • AbstractField.cs
        • DateField.cs
        • DateTools.cs
        • Document.cs
        • Field.cs
        • Fieldable.cs
        • FieldSelector.cs
        • FieldSelectorResult.cs
        • LoadFirstFieldSelector.cs
        • MapFieldSelector.cs
        • NumberTools.cs
        • Package.html
        • SetBasedFieldSelector.cs
      • Index
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • CheckIndex.cs.svn-base
            • CompoundFileReader.cs.svn-base
            • CompoundFileWriter.cs.svn-base
            • ConcurrentMergeScheduler.cs.svn-base
            • CorruptIndexException.cs.svn-base
            • DefaultSkipListReader.cs.svn-base
            • DefaultSkipListWriter.cs.svn-base
            • DirectoryIndexReader.cs.svn-base
            • DocumentsWriter.cs.svn-base
            • DocumentWriter.cs.svn-base
            • FieldInfo.cs.svn-base
            • FieldInfos.cs.svn-base
            • FieldReaderException.cs.svn-base
            • FieldSortedTermVectorMapper.cs.svn-base
            • FieldsReader.cs.svn-base
            • FieldsWriter.cs.svn-base
            • FilterIndexReader.cs.svn-base
            • IndexCommitPoint.cs.svn-base
            • IndexDeletionPolicy.cs.svn-base
            • IndexFileDeleter.cs.svn-base
            • IndexFileNameFilter.cs.svn-base
            • IndexFileNames.cs.svn-base
            • IndexModifier.cs.svn-base
            • IndexReader.cs.svn-base
            • IndexWriter.cs.svn-base
            • KeepOnlyLastCommitDeletionPolicy.cs.svn-base
            • LogByteSizeMergePolicy.cs.svn-base
            • LogDocMergePolicy.cs.svn-base
            • LogMergePolicy.cs.svn-base
            • MergePolicy.cs.svn-base
            • MergeScheduler.cs.svn-base
            • MultiLevelSkipListReader.cs.svn-base
            • MultiLevelSkipListWriter.cs.svn-base
            • MultipleTermPositions.cs.svn-base
            • MultiReader.cs.svn-base
            • MultiSegmentReader.cs.svn-base
            • Package.html.svn-base
            • ParallelReader.cs.svn-base
            • Payload.cs.svn-base
            • PositionBasedTermVectorMapper.cs.svn-base
            • SegmentInfo.cs.svn-base
            • SegmentInfos.cs.svn-base
            • SegmentMergeInfo.cs.svn-base
            • SegmentMergeQueue.cs.svn-base
            • SegmentMerger.cs.svn-base
            • SegmentReade-2r.cs.svn-base
            • SegmentReader.cs.svn-base
            • SegmentTermDocs.cs.svn-base
            • SegmentTermEnum.cs.svn-base
            • SegmentTermPositions.cs.svn-base
            • SegmentTermPositionVector.cs.svn-base
            • SegmentTermVector.cs.svn-base
            • SerialMergeScheduler.cs.svn-base
            • SnapshotDeletionPolicy.cs.svn-base
            • SortedTermVectorMapper.cs.svn-base
            • StaleReaderException.cs.svn-base
            • Term.cs.svn-base
            • TermBuffer.cs.svn-base
            • TermDocs.cs.svn-base
            • TermEnum.cs.svn-base
            • TermFreqVector.cs.svn-base
            • TermInfo.cs.svn-base
            • TermInfosReader.cs.svn-base
            • TermInfosWriter.cs.svn-base
            • TermPositions.cs.svn-base
            • TermPositionVector.cs.svn-base
            • TermVectorEntry.cs.svn-base
            • TermVectorEntryFreqSortedComparator.cs.svn-base
            • TermVectorMapper.cs.svn-base
            • TermVectorOffsetInfo.cs.svn-base
            • TermVectorsReader.cs.svn-base
            • TermVectorsWriter.cs.svn-base
          • props
            • CheckIndex.cs.svn-work
            • CompoundFileReader.cs.svn-work
            • CompoundFileWriter.cs.svn-work
            • ConcurrentMergeScheduler.cs.svn-work
            • CorruptIndexException.cs.svn-work
            • DefaultSkipListReader.cs.svn-work
            • DefaultSkipListWriter.cs.svn-work
            • DirectoryIndexReader.cs.svn-work
            • DocumentsWriter.cs.svn-work
            • DocumentWriter.cs.svn-work
            • FieldInfo.cs.svn-work
            • FieldInfos.cs.svn-work
            • FieldReaderException.cs.svn-work
            • FieldSortedTermVectorMapper.cs.svn-work
            • FieldsReader.cs.svn-work
            • FieldsWriter.cs.svn-work
            • FilterIndexReader.cs.svn-work
            • IndexCommitPoint.cs.svn-work
            • IndexDeletionPolicy.cs.svn-work
            • IndexFileDeleter.cs.svn-work
            • IndexFileNameFilter.cs.svn-work
            • IndexFileNames.cs.svn-work
            • IndexModifier.cs.svn-work
            • IndexReader.cs.svn-work
            • IndexWriter.cs.svn-work
            • KeepOnlyLastCommitDeletionPolicy.cs.svn-work
            • LogByteSizeMergePolicy.cs.svn-work
            • LogDocMergePolicy.cs.svn-work
            • LogMergePolicy.cs.svn-work
            • MergePolicy.cs.svn-work
            • MergeScheduler.cs.svn-work
            • MultiLevelSkipListReader.cs.svn-work
            • MultiLevelSkipListWriter.cs.svn-work
            • MultipleTermPositions.cs.svn-work
            • MultiReader.cs.svn-work
            • MultiSegmentReader.cs.svn-work
            • Package.html.svn-work
            • ParallelReader.cs.svn-work
            • Payload.cs.svn-work
            • PositionBasedTermVectorMapper.cs.svn-work
            • SegmentInfo.cs.svn-work
            • SegmentInfos.cs.svn-work
            • SegmentMergeInfo.cs.svn-work
            • SegmentMergeQueue.cs.svn-work
            • SegmentMerger.cs.svn-work
            • SegmentReade-2r.cs.svn-work
            • SegmentReader.cs.svn-work
            • SegmentTermDocs.cs.svn-work
            • SegmentTermEnum.cs.svn-work
            • SegmentTermPositions.cs.svn-work
            • SegmentTermPositionVector.cs.svn-work
            • SegmentTermVector.cs.svn-work
            • SerialMergeScheduler.cs.svn-work
            • SnapshotDeletionPolicy.cs.svn-work
            • SortedTermVectorMapper.cs.svn-work
            • StaleReaderException.cs.svn-work
            • Term.cs.svn-work
            • TermBuffer.cs.svn-work
            • TermDocs.cs.svn-work
            • TermEnum.cs.svn-work
            • TermFreqVector.cs.svn-work
            • TermInfo.cs.svn-work
            • TermInfosReader.cs.svn-work
            • TermInfosWriter.cs.svn-work
            • TermPositions.cs.svn-work
            • TermPositionVector.cs.svn-work
            • TermVectorEntry.cs.svn-work
            • TermVectorEntryFreqSortedComparator.cs.svn-work
            • TermVectorMapper.cs.svn-work
            • TermVectorOffsetInfo.cs.svn-work
            • TermVectorsReader.cs.svn-work
            • TermVectorsWriter.cs.svn-work
          • README.txt
          • text-base
            • CheckIndex.cs.svn-base
            • CompoundFileReader.cs.svn-base
            • CompoundFileWriter.cs.svn-base
            • ConcurrentMergeScheduler.cs.svn-base
            • CorruptIndexException.cs.svn-base
            • DefaultSkipListReader.cs.svn-base
            • DefaultSkipListWriter.cs.svn-base
            • DirectoryIndexReader.cs.svn-base
            • DocumentsWriter.cs.svn-base
            • DocumentWriter.cs.svn-base
            • FieldInfo.cs.svn-base
            • FieldInfos.cs.svn-base
            • FieldReaderException.cs.svn-base
            • FieldSortedTermVectorMapper.cs.svn-base
            • FieldsReader.cs.svn-base
            • FieldsWriter.cs.svn-base
            • FilterIndexReader.cs.svn-base
            • IndexCommitPoint.cs.svn-base
            • IndexDeletionPolicy.cs.svn-base
            • IndexFileDeleter.cs.svn-base
            • IndexFileNameFilter.cs.svn-base
            • IndexFileNames.cs.svn-base
            • IndexModifier.cs.svn-base
            • IndexReader.cs.svn-base
            • IndexWriter.cs.svn-base
            • KeepOnlyLastCommitDeletionPolicy.cs.svn-base
            • LogByteSizeMergePolicy.cs.svn-base
            • LogDocMergePolicy.cs.svn-base
            • LogMergePolicy.cs.svn-base
            • MergePolicy.cs.svn-base
            • MergeScheduler.cs.svn-base
            • MultiLevelSkipListReader.cs.svn-base
            • MultiLevelSkipListWriter.cs.svn-base
            • MultipleTermPositions.cs.svn-base
            • MultiReader.cs.svn-base
            • MultiSegmentReader.cs.svn-base
            • Package.html.svn-base
            • ParallelReader.cs.svn-base
            • Payload.cs.svn-base
            • PositionBasedTermVectorMapper.cs.svn-base
            • SegmentInfo.cs.svn-base
            • SegmentInfos.cs.svn-base
            • SegmentMergeInfo.cs.svn-base
            • SegmentMergeQueue.cs.svn-base
            • SegmentMerger.cs.svn-base
            • SegmentReade-2r.cs.svn-base
            • SegmentReader.cs.svn-base
            • SegmentTermDocs.cs.svn-base
            • SegmentTermEnum.cs.svn-base
            • SegmentTermPositions.cs.svn-base
            • SegmentTermPositionVector.cs.svn-base
            • SegmentTermVector.cs.svn-base
            • SerialMergeScheduler.cs.svn-base
            • SnapshotDeletionPolicy.cs.svn-base
            • SortedTermVectorMapper.cs.svn-base
            • StaleReaderException.cs.svn-base
            • Term.cs.svn-base
            • TermBuffer.cs.svn-base
            • TermDocs.cs.svn-base
            • TermEnum.cs.svn-base
            • TermFreqVector.cs.svn-base
            • TermInfo.cs.svn-base
            • TermInfosReader.cs.svn-base
            • TermInfosWriter.cs.svn-base
            • TermPositions.cs.svn-base
            • TermPositionVector.cs.svn-base
            • TermVectorEntry.cs.svn-base
            • TermVectorEntryFreqSortedComparator.cs.svn-base
            • TermVectorMapper.cs.svn-base
            • TermVectorOffsetInfo.cs.svn-base
            • TermVectorsReader.cs.svn-base
            • TermVectorsWriter.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • CheckIndex.cs.svn-work
            • CompoundFileReader.cs.svn-work
            • CompoundFileWriter.cs.svn-work
            • ConcurrentMergeScheduler.cs.svn-work
            • CorruptIndexException.cs.svn-work
            • DefaultSkipListReader.cs.svn-work
            • DefaultSkipListWriter.cs.svn-work
            • DirectoryIndexReader.cs.svn-work
            • DocumentsWriter.cs.svn-work
            • DocumentWriter.cs.svn-work
            • FieldInfo.cs.svn-work
            • FieldInfos.cs.svn-work
            • FieldReaderException.cs.svn-work
            • FieldSortedTermVectorMapper.cs.svn-work
            • FieldsReader.cs.svn-work
            • FieldsWriter.cs.svn-work
            • FilterIndexReader.cs.svn-work
            • IndexCommitPoint.cs.svn-work
            • IndexDeletionPolicy.cs.svn-work
            • IndexFileDeleter.cs.svn-work
            • IndexFileNameFilter.cs.svn-work
            • IndexFileNames.cs.svn-work
            • IndexModifier.cs.svn-work
            • IndexReader.cs.svn-work
            • IndexWriter.cs.svn-work
            • KeepOnlyLastCommitDeletionPolicy.cs.svn-work
            • LogByteSizeMergePolicy.cs.svn-work
            • LogDocMergePolicy.cs.svn-work
            • LogMergePolicy.cs.svn-work
            • MergePolicy.cs.svn-work
            • MergeScheduler.cs.svn-work
            • MultiLevelSkipListReader.cs.svn-work
            • MultiLevelSkipListWriter.cs.svn-work
            • MultipleTermPositions.cs.svn-work
            • MultiReader.cs.svn-work
            • MultiSegmentReader.cs.svn-work
            • Package.html.svn-work
            • ParallelReader.cs.svn-work
            • Payload.cs.svn-work
            • PositionBasedTermVectorMapper.cs.svn-work
            • SegmentInfo.cs.svn-work
            • SegmentInfos.cs.svn-work
            • SegmentMergeInfo.cs.svn-work
            • SegmentMergeQueue.cs.svn-work
            • SegmentMerger.cs.svn-work
            • SegmentReade-2r.cs.svn-work
            • SegmentReader.cs.svn-work
            • SegmentTermDocs.cs.svn-work
            • SegmentTermEnum.cs.svn-work
            • SegmentTermPositions.cs.svn-work
            • SegmentTermPositionVector.cs.svn-work
            • SegmentTermVector.cs.svn-work
            • SerialMergeScheduler.cs.svn-work
            • SnapshotDeletionPolicy.cs.svn-work
            • SortedTermVectorMapper.cs.svn-work
            • StaleReaderException.cs.svn-work
            • Term.cs.svn-work
            • TermBuffer.cs.svn-work
            • TermDocs.cs.svn-work
            • TermEnum.cs.svn-work
            • TermFreqVector.cs.svn-work
            • TermInfo.cs.svn-work
            • TermInfosReader.cs.svn-work
            • TermInfosWriter.cs.svn-work
            • TermPositions.cs.svn-work
            • TermPositionVector.cs.svn-work
            • TermVectorEntry.cs.svn-work
            • TermVectorEntryFreqSortedComparator.cs.svn-work
            • TermVectorMapper.cs.svn-work
            • TermVectorOffsetInfo.cs.svn-work
            • TermVectorsReader.cs.svn-work
            • TermVectorsWriter.cs.svn-work
        • CheckIndex.cs
        • CompoundFileReader.cs
        • CompoundFileWriter.cs
        • ConcurrentMergeScheduler.cs
        • CorruptIndexException.cs
        • DefaultSkipListReader.cs
        • DefaultSkipListWriter.cs
        • DirectoryIndexReader.cs
        • DocumentsWriter.cs
        • DocumentWriter.cs
        • FieldInfo.cs
        • FieldInfos.cs
        • FieldReaderException.cs
        • FieldSortedTermVectorMapper.cs
        • FieldsReader.cs
        • FieldsWriter.cs
        • FilterIndexReader.cs
        • IndexCommitPoint.cs
        • IndexDeletionPolicy.cs
        • IndexFileDeleter.cs
        • IndexFileNameFilter.cs
        • IndexFileNames.cs
        • IndexModifier.cs
        • IndexReader.cs
        • IndexWriter.cs
        • KeepOnlyLastCommitDeletionPolicy.cs
        • LogByteSizeMergePolicy.cs
        • LogDocMergePolicy.cs
        • LogMergePolicy.cs
        • MergePolicy.cs
        • MergeScheduler.cs
        • MultiLevelSkipListReader.cs
        • MultiLevelSkipListWriter.cs
        • MultipleTermPositions.cs
        • MultiReader.cs
        • MultiSegmentReader.cs
        • Package.html
        • ParallelReader.cs
        • Payload.cs
        • PositionBasedTermVectorMapper.cs
        • SegmentInfo.cs
        • SegmentInfos.cs
        • SegmentMergeInfo.cs
        • SegmentMergeQueue.cs
        • SegmentMerger.cs
        • SegmentReade-2r.cs
        • SegmentReader.cs
        • SegmentTermDocs.cs
        • SegmentTermEnum.cs
        • SegmentTermPositions.cs
        • SegmentTermPositionVector.cs
        • SegmentTermVector.cs
        • SerialMergeScheduler.cs
        • SnapshotDeletionPolicy.cs
        • SortedTermVectorMapper.cs
        • StaleReaderException.cs
        • Term.cs
        • TermBuffer.cs
        • TermDocs.cs
        • TermEnum.cs
        • TermFreqVector.cs
        • TermInfo.cs
        • TermInfosReader.cs
        • TermInfosWriter.cs
        • TermPositions.cs
        • TermPositionVector.cs
        • TermVectorEntry.cs
        • TermVectorEntryFreqSortedComparator.cs
        • TermVectorMapper.cs
        • TermVectorOffsetInfo.cs
        • TermVectorsReader.cs
        • TermVectorsWriter.cs
      • Lucene.Net.Search.RemoteSearchable.config
      • Lucene.Net.Search.TestSort.config
      • Lucene.Net.sln
      • Lucene.Net.xml
      • Lucene.Net-2.3.1.ndoc
      • Lucene.Net-2.3.1-VS2005.csproj
      • Lucene.Net-2.3.1-VS2005.sln
      • Lucene.Net-2.3.1-VS2005.suo
      • LucenePackage.cs
      • obj
      • Overview.html
      • Package.html
      • QueryParser
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • CharStream.cs.svn-base
            • FastCharStream.cs.svn-base
            • MultiFieldQueryParser.cs.svn-base
            • Package.html.svn-base
            • ParseException.cs.svn-base
            • QueryParser.cs.svn-base
            • QueryParser.JJ.svn-base
            • QueryParserConstants.cs.svn-base
            • QueryParserTokenManager.cs.svn-base
            • Token.cs.svn-base
            • TokenMgrError.cs.svn-base
          • props
            • CharStream.cs.svn-work
            • FastCharStream.cs.svn-work
            • MultiFieldQueryParser.cs.svn-work
            • Package.html.svn-work
            • ParseException.cs.svn-work
            • QueryParser.cs.svn-work
            • QueryParser.JJ.svn-work
            • QueryParserConstants.cs.svn-work
            • QueryParserTokenManager.cs.svn-work
            • Token.cs.svn-work
            • TokenMgrError.cs.svn-work
          • README.txt
          • text-base
            • CharStream.cs.svn-base
            • FastCharStream.cs.svn-base
            • MultiFieldQueryParser.cs.svn-base
            • Package.html.svn-base
            • ParseException.cs.svn-base
            • QueryParser.cs.svn-base
            • QueryParser.JJ.svn-base
            • QueryParserConstants.cs.svn-base
            • QueryParserTokenManager.cs.svn-base
            • Token.cs.svn-base
            • TokenMgrError.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • CharStream.cs.svn-work
            • FastCharStream.cs.svn-work
            • MultiFieldQueryParser.cs.svn-work
            • Package.html.svn-work
            • ParseException.cs.svn-work
            • QueryParser.cs.svn-work
            • QueryParser.JJ.svn-work
            • QueryParserConstants.cs.svn-work
            • QueryParserTokenManager.cs.svn-work
            • Token.cs.svn-work
            • TokenMgrError.cs.svn-work
        • CharStream.cs
        • FastCharStream.cs
        • MultiFieldQueryParser.cs
        • Package.html
        • ParseException.cs
        • QueryParser.cs
        • QueryParser.JJ
        • QueryParserConstants.cs
        • QueryParserTokenManager.cs
        • Token.cs
        • TokenMgrError.cs
      • Search
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • BooleanClause.cs.svn-base
            • BooleanQuery.cs.svn-base
            • BooleanScorer.cs.svn-base
            • BooleanScorer2.cs.svn-base
            • CachingSpanFilter.cs.svn-base
            • CachingWrapperFilter.cs.svn-base
            • ComplexExplanation.cs.svn-base
            • ConjunctionScorer.cs.svn-base
            • ConstantScoreQuery.cs.svn-base
            • ConstantScoreRangeQuery.cs.svn-base
            • DefaultSimilarity.cs.svn-base
            • DisjunctionMaxQuery.cs.svn-base
            • DisjunctionMaxScorer.cs.svn-base
            • DisjunctionSumScorer.cs.svn-base
            • ExactPhraseScorer.cs.svn-base
            • Explanation.cs.svn-base
            • ExtendedFieldCache.cs.svn-base
            • ExtendedFieldCacheImpl.cs.svn-base
            • FieldCache.cs.svn-base
            • FieldCacheImpl.cs.svn-base
            • FieldDoc.cs.svn-base
            • FieldDocSortedHitQueue.cs.svn-base
            • FieldSortedHitQueue.cs.svn-base
            • Filter.cs.svn-base
            • FilteredQuery.cs.svn-base
            • FilteredTermEnum.cs.svn-base
            • FilterManager.cs.svn-base
            • FuzzyQuery.cs.svn-base
            • FuzzyTermEnum.cs.svn-base
            • Hit.cs.svn-base
            • HitCollector.cs.svn-base
            • HitIterator.cs.svn-base
            • HitQueue.cs.svn-base
            • Hits.cs.svn-base
            • IndexSearcher.cs.svn-base
            • MatchAllDocsQuery.cs.svn-base
            • MultiPhraseQuery.cs.svn-base
            • MultiSearcher.cs.svn-base
            • MultiTermQuery.cs.svn-base
            • NonMatchingScorer.cs.svn-base
            • Package.html.svn-base
            • ParallelMultiSearcher.cs.svn-base
            • PhrasePositions.cs.svn-base
            • PhraseQuery.cs.svn-base
            • PhraseQueue.cs.svn-base
            • PhraseScorer.cs.svn-base
            • PrefixFilter.cs.svn-base
            • PrefixQuery.cs.svn-base
            • Query.cs.svn-base
            • QueryFilter.cs.svn-base
            • QueryTermVector.cs.svn-base
            • QueryWrapperFilter.cs.svn-base
            • RangeFilter.cs.svn-base
            • RangeQuery.cs.svn-base
            • RemoteCachingWrapperFilter.cs.svn-base
            • RemoteSearchable.cs.svn-base
            • ReqExclScorer.cs.svn-base
            • ReqOptSumScorer.cs.svn-base
            • ScoreDoc.cs.svn-base
            • ScoreDocComparator.cs.svn-base
            • Scorer.cs.svn-base
            • Searchable.cs.svn-base
            • Searcher.cs.svn-base
            • Similarity.cs.svn-base
            • SimilarityDelegator.cs.svn-base
            • SloppyPhraseScorer.cs.svn-base
            • Sort.cs.svn-base
            • SortComparator.cs.svn-base
            • SortComparatorSource.cs.svn-base
            • SortField.cs.svn-base
            • SpanFilter.cs.svn-base
            • SpanFilterResult.cs.svn-base
            • SpanQueryFilter.cs.svn-base
            • TermQuery.cs.svn-base
            • TermScorer.cs.svn-base
            • TopDocCollector.cs.svn-base
            • TopDocs.cs.svn-base
            • TopFieldDocCollector.cs.svn-base
            • TopFieldDocs.cs.svn-base
            • Weight.cs.svn-base
            • WildcardQuery.cs.svn-base
            • WildcardTermEnum.cs.svn-base
          • props
            • BooleanClause.cs.svn-work
            • BooleanQuery.cs.svn-work
            • BooleanScorer.cs.svn-work
            • BooleanScorer2.cs.svn-work
            • CachingSpanFilter.cs.svn-work
            • CachingWrapperFilter.cs.svn-work
            • ComplexExplanation.cs.svn-work
            • ConjunctionScorer.cs.svn-work
            • ConstantScoreQuery.cs.svn-work
            • ConstantScoreRangeQuery.cs.svn-work
            • DefaultSimilarity.cs.svn-work
            • DisjunctionMaxQuery.cs.svn-work
            • DisjunctionMaxScorer.cs.svn-work
            • DisjunctionSumScorer.cs.svn-work
            • ExactPhraseScorer.cs.svn-work
            • Explanation.cs.svn-work
            • ExtendedFieldCache.cs.svn-work
            • ExtendedFieldCacheImpl.cs.svn-work
            • FieldCache.cs.svn-work
            • FieldCacheImpl.cs.svn-work
            • FieldDoc.cs.svn-work
            • FieldDocSortedHitQueue.cs.svn-work
            • FieldSortedHitQueue.cs.svn-work
            • Filter.cs.svn-work
            • FilteredQuery.cs.svn-work
            • FilteredTermEnum.cs.svn-work
            • FilterManager.cs.svn-work
            • FuzzyQuery.cs.svn-work
            • FuzzyTermEnum.cs.svn-work
            • Hit.cs.svn-work
            • HitCollector.cs.svn-work
            • HitIterator.cs.svn-work
            • HitQueue.cs.svn-work
            • Hits.cs.svn-work
            • IndexSearcher.cs.svn-work
            • MatchAllDocsQuery.cs.svn-work
            • MultiPhraseQuery.cs.svn-work
            • MultiSearcher.cs.svn-work
            • MultiTermQuery.cs.svn-work
            • NonMatchingScorer.cs.svn-work
            • Package.html.svn-work
            • ParallelMultiSearcher.cs.svn-work
            • PhrasePositions.cs.svn-work
            • PhraseQuery.cs.svn-work
            • PhraseQueue.cs.svn-work
            • PhraseScorer.cs.svn-work
            • PrefixFilter.cs.svn-work
            • PrefixQuery.cs.svn-work
            • Query.cs.svn-work
            • QueryFilter.cs.svn-work
            • QueryTermVector.cs.svn-work
            • QueryWrapperFilter.cs.svn-work
            • RangeFilter.cs.svn-work
            • RangeQuery.cs.svn-work
            • RemoteCachingWrapperFilter.cs.svn-work
            • RemoteSearchable.cs.svn-work
            • ReqExclScorer.cs.svn-work
            • ReqOptSumScorer.cs.svn-work
            • ScoreDoc.cs.svn-work
            • ScoreDocComparator.cs.svn-work
            • Scorer.cs.svn-work
            • Searchable.cs.svn-work
            • Searcher.cs.svn-work
            • Similarity.cs.svn-work
            • SimilarityDelegator.cs.svn-work
            • SloppyPhraseScorer.cs.svn-work
            • Sort.cs.svn-work
            • SortComparator.cs.svn-work
            • SortComparatorSource.cs.svn-work
            • SortField.cs.svn-work
            • SpanFilter.cs.svn-work
            • SpanFilterResult.cs.svn-work
            • SpanQueryFilter.cs.svn-work
            • TermQuery.cs.svn-work
            • TermScorer.cs.svn-work
            • TopDocCollector.cs.svn-work
            • TopDocs.cs.svn-work
            • TopFieldDocCollector.cs.svn-work
            • TopFieldDocs.cs.svn-work
            • Weight.cs.svn-work
            • WildcardQuery.cs.svn-work
            • WildcardTermEnum.cs.svn-work
          • README.txt
          • text-base
            • BooleanClause.cs.svn-base
            • BooleanQuery.cs.svn-base
            • BooleanScorer.cs.svn-base
            • BooleanScorer2.cs.svn-base
            • CachingSpanFilter.cs.svn-base
            • CachingWrapperFilter.cs.svn-base
            • ComplexExplanation.cs.svn-base
            • ConjunctionScorer.cs.svn-base
            • ConstantScoreQuery.cs.svn-base
            • ConstantScoreRangeQuery.cs.svn-base
            • DefaultSimilarity.cs.svn-base
            • DisjunctionMaxQuery.cs.svn-base
            • DisjunctionMaxScorer.cs.svn-base
            • DisjunctionSumScorer.cs.svn-base
            • ExactPhraseScorer.cs.svn-base
            • Explanation.cs.svn-base
            • ExtendedFieldCache.cs.svn-base
            • ExtendedFieldCacheImpl.cs.svn-base
            • FieldCache.cs.svn-base
            • FieldCacheImpl.cs.svn-base
            • FieldDoc.cs.svn-base
            • FieldDocSortedHitQueue.cs.svn-base
            • FieldSortedHitQueue.cs.svn-base
            • Filter.cs.svn-base
            • FilteredQuery.cs.svn-base
            • FilteredTermEnum.cs.svn-base
            • FilterManager.cs.svn-base
            • FuzzyQuery.cs.svn-base
            • FuzzyTermEnum.cs.svn-base
            • Hit.cs.svn-base
            • HitCollector.cs.svn-base
            • HitIterator.cs.svn-base
            • HitQueue.cs.svn-base
            • Hits.cs.svn-base
            • IndexSearcher.cs.svn-base
            • MatchAllDocsQuery.cs.svn-base
            • MultiPhraseQuery.cs.svn-base
            • MultiSearcher.cs.svn-base
            • MultiTermQuery.cs.svn-base
            • NonMatchingScorer.cs.svn-base
            • Package.html.svn-base
            • ParallelMultiSearcher.cs.svn-base
            • PhrasePositions.cs.svn-base
            • PhraseQuery.cs.svn-base
            • PhraseQueue.cs.svn-base
            • PhraseScorer.cs.svn-base
            • PrefixFilter.cs.svn-base
            • PrefixQuery.cs.svn-base
            • Query.cs.svn-base
            • QueryFilter.cs.svn-base
            • QueryTermVector.cs.svn-base
            • QueryWrapperFilter.cs.svn-base
            • RangeFilter.cs.svn-base
            • RangeQuery.cs.svn-base
            • RemoteCachingWrapperFilter.cs.svn-base
            • RemoteSearchable.cs.svn-base
            • ReqExclScorer.cs.svn-base
            • ReqOptSumScorer.cs.svn-base
            • ScoreDoc.cs.svn-base
            • ScoreDocComparator.cs.svn-base
            • Scorer.cs.svn-base
            • Searchable.cs.svn-base
            • Searcher.cs.svn-base
            • Similarity.cs.svn-base
            • SimilarityDelegator.cs.svn-base
            • SloppyPhraseScorer.cs.svn-base
            • Sort.cs.svn-base
            • SortComparator.cs.svn-base
            • SortComparatorSource.cs.svn-base
            • SortField.cs.svn-base
            • SpanFilter.cs.svn-base
            • SpanFilterResult.cs.svn-base
            • SpanQueryFilter.cs.svn-base
            • TermQuery.cs.svn-base
            • TermScorer.cs.svn-base
            • TopDocCollector.cs.svn-base
            • TopDocs.cs.svn-base
            • TopFieldDocCollector.cs.svn-base
            • TopFieldDocs.cs.svn-base
            • Weight.cs.svn-base
            • WildcardQuery.cs.svn-base
            • WildcardTermEnum.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • BooleanClause.cs.svn-work
            • BooleanQuery.cs.svn-work
            • BooleanScorer.cs.svn-work
            • BooleanScorer2.cs.svn-work
            • CachingSpanFilter.cs.svn-work
            • CachingWrapperFilter.cs.svn-work
            • ComplexExplanation.cs.svn-work
            • ConjunctionScorer.cs.svn-work
            • ConstantScoreQuery.cs.svn-work
            • ConstantScoreRangeQuery.cs.svn-work
            • DefaultSimilarity.cs.svn-work
            • DisjunctionMaxQuery.cs.svn-work
            • DisjunctionMaxScorer.cs.svn-work
            • DisjunctionSumScorer.cs.svn-work
            • ExactPhraseScorer.cs.svn-work
            • Explanation.cs.svn-work
            • ExtendedFieldCache.cs.svn-work
            • ExtendedFieldCacheImpl.cs.svn-work
            • FieldCache.cs.svn-work
            • FieldCacheImpl.cs.svn-work
            • FieldDoc.cs.svn-work
            • FieldDocSortedHitQueue.cs.svn-work
            • FieldSortedHitQueue.cs.svn-work
            • Filter.cs.svn-work
            • FilteredQuery.cs.svn-work
            • FilteredTermEnum.cs.svn-work
            • FilterManager.cs.svn-work
            • FuzzyQuery.cs.svn-work
            • FuzzyTermEnum.cs.svn-work
            • Hit.cs.svn-work
            • HitCollector.cs.svn-work
            • HitIterator.cs.svn-work
            • HitQueue.cs.svn-work
            • Hits.cs.svn-work
            • IndexSearcher.cs.svn-work
            • MatchAllDocsQuery.cs.svn-work
            • MultiPhraseQuery.cs.svn-work
            • MultiSearcher.cs.svn-work
            • MultiTermQuery.cs.svn-work
            • NonMatchingScorer.cs.svn-work
            • Package.html.svn-work
            • ParallelMultiSearcher.cs.svn-work
            • PhrasePositions.cs.svn-work
            • PhraseQuery.cs.svn-work
            • PhraseQueue.cs.svn-work
            • PhraseScorer.cs.svn-work
            • PrefixFilter.cs.svn-work
            • PrefixQuery.cs.svn-work
            • Query.cs.svn-work
            • QueryFilter.cs.svn-work
            • QueryTermVector.cs.svn-work
            • QueryWrapperFilter.cs.svn-work
            • RangeFilter.cs.svn-work
            • RangeQuery.cs.svn-work
            • RemoteCachingWrapperFilter.cs.svn-work
            • RemoteSearchable.cs.svn-work
            • ReqExclScorer.cs.svn-work
            • ReqOptSumScorer.cs.svn-work
            • ScoreDoc.cs.svn-work
            • ScoreDocComparator.cs.svn-work
            • Scorer.cs.svn-work
            • Searchable.cs.svn-work
            • Searcher.cs.svn-work
            • Similarity.cs.svn-work
            • SimilarityDelegator.cs.svn-work
            • SloppyPhraseScorer.cs.svn-work
            • Sort.cs.svn-work
            • SortComparator.cs.svn-work
            • SortComparatorSource.cs.svn-work
            • SortField.cs.svn-work
            • SpanFilter.cs.svn-work
            • SpanFilterResult.cs.svn-work
            • SpanQueryFilter.cs.svn-work
            • TermQuery.cs.svn-work
            • TermScorer.cs.svn-work
            • TopDocCollector.cs.svn-work
            • TopDocs.cs.svn-work
            • TopFieldDocCollector.cs.svn-work
            • TopFieldDocs.cs.svn-work
            • Weight.cs.svn-work
            • WildcardQuery.cs.svn-work
            • WildcardTermEnum.cs.svn-work
        • BooleanClause.cs
        • BooleanQuery.cs
        • BooleanScorer.cs
        • BooleanScorer2.cs
        • CachingSpanFilter.cs
        • CachingWrapperFilter.cs
        • ComplexExplanation.cs
        • ConjunctionScorer.cs
        • ConstantScoreQuery.cs
        • ConstantScoreRangeQuery.cs
        • DefaultSimilarity.cs
        • DisjunctionMaxQuery.cs
        • DisjunctionMaxScorer.cs
        • DisjunctionSumScorer.cs
        • ExactPhraseScorer.cs
        • Explanation.cs
        • ExtendedFieldCache.cs
        • ExtendedFieldCacheImpl.cs
        • FieldCache.cs
        • FieldCacheImpl.cs
        • FieldDoc.cs
        • FieldDocSortedHitQueue.cs
        • FieldSortedHitQueue.cs
        • Filter.cs
        • FilteredQuery.cs
        • FilteredTermEnum.cs
        • FilterManager.cs
        • Function
          • .svn
            • dir-wcprops
            • empty-file
            • entries
            • format
            • prop-base
              • ByteFieldSource.cs.svn-base
              • CustomScoreQuery.cs.svn-base
              • DocValues.cs.svn-base
              • FieldCacheSource.cs.svn-base
              • FieldScoreQuery.cs.svn-base
              • FloatFieldSource.cs.svn-base
              • IntFieldSource.cs.svn-base
              • OrdFieldSource.cs.svn-base
              • Package.html.svn-base
              • ReverseOrdFieldSource.cs.svn-base
              • ShortFieldSource.cs.svn-base
              • ValueSource.cs.svn-base
              • ValueSourceQuery.cs.svn-base
            • props
              • ByteFieldSource.cs.svn-work
              • CustomScoreQuery.cs.svn-work
              • DocValues.cs.svn-work
              • FieldCacheSource.cs.svn-work
              • FieldScoreQuery.cs.svn-work
              • FloatFieldSource.cs.svn-work
              • IntFieldSource.cs.svn-work
              • OrdFieldSource.cs.svn-work
              • Package.html.svn-work
              • ReverseOrdFieldSource.cs.svn-work
              • ShortFieldSource.cs.svn-work
              • ValueSource.cs.svn-work
              • ValueSourceQuery.cs.svn-work
            • README.txt
            • text-base
              • ByteFieldSource.cs.svn-base
              • CustomScoreQuery.cs.svn-base
              • DocValues.cs.svn-base
              • FieldCacheSource.cs.svn-base
              • FieldScoreQuery.cs.svn-base
              • FloatFieldSource.cs.svn-base
              • IntFieldSource.cs.svn-base
              • OrdFieldSource.cs.svn-base
              • Package.html.svn-base
              • ReverseOrdFieldSource.cs.svn-base
              • ShortFieldSource.cs.svn-base
              • ValueSource.cs.svn-base
              • ValueSourceQuery.cs.svn-base
            • tmp
              • prop-base
              • props
              • text-base
              • wcprops
            • wcprops
              • ByteFieldSource.cs.svn-work
              • CustomScoreQuery.cs.svn-work
              • DocValues.cs.svn-work
              • FieldCacheSource.cs.svn-work
              • FieldScoreQuery.cs.svn-work
              • FloatFieldSource.cs.svn-work
              • IntFieldSource.cs.svn-work
              • OrdFieldSource.cs.svn-work
              • Package.html.svn-work
              • ReverseOrdFieldSource.cs.svn-work
              • ShortFieldSource.cs.svn-work
              • ValueSource.cs.svn-work
              • ValueSourceQuery.cs.svn-work
          • ByteFieldSource.cs
          • CustomScoreQuery.cs
          • DocValues.cs
          • FieldCacheSource.cs
          • FieldScoreQuery.cs
          • FloatFieldSource.cs
          • IntFieldSource.cs
          • OrdFieldSource.cs
          • Package.html
          • ReverseOrdFieldSource.cs
          • ShortFieldSource.cs
          • ValueSource.cs
          • ValueSourceQuery.cs
        • FuzzyQuery.cs
        • FuzzyTermEnum.cs
        • Hit.cs
        • HitCollector.cs
        • HitIterator.cs
        • HitQueue.cs
        • Hits.cs
        • IndexSearcher.cs
        • MatchAllDocsQuery.cs
        • MultiPhraseQuery.cs
        • MultiSearcher.cs
        • MultiTermQuery.cs
        • NonMatchingScorer.cs
        • Package.html
        • ParallelMultiSearcher.cs
        • Payload
          • .svn
            • dir-wcprops
            • empty-file
            • entries
            • format
            • prop-base
              • BoostingTermQuery.cs.svn-base
              • Package.html.svn-base
            • props
              • BoostingTermQuery.cs.svn-work
              • Package.html.svn-work
            • README.txt
            • text-base
              • BoostingTermQuery.cs.svn-base
              • Package.html.svn-base
            • tmp
              • prop-base
              • props
              • text-base
              • wcprops
            • wcprops
              • BoostingTermQuery.cs.svn-work
              • Package.html.svn-work
          • BoostingTermQuery.cs
          • Package.html
        • PhrasePositions.cs
        • PhraseQuery.cs
        • PhraseQueue.cs
        • PhraseScorer.cs
        • PrefixFilter.cs
        • PrefixQuery.cs
        • Query.cs
        • QueryFilter.cs
        • QueryTermVector.cs
        • QueryWrapperFilter.cs
        • RangeFilter.cs
        • RangeQuery.cs
        • RemoteCachingWrapperFilter.cs
        • RemoteSearchable.cs
        • ReqExclScorer.cs
        • ReqOptSumScorer.cs
        • ScoreDoc.cs
        • ScoreDocComparator.cs
        • Scorer.cs
        • Searchable.cs
        • Searcher.cs
        • Similarity.cs
        • SimilarityDelegator.cs
        • SloppyPhraseScorer.cs
        • Sort.cs
        • SortComparator.cs
        • SortComparatorSource.cs
        • SortField.cs
        • SpanFilter.cs
        • SpanFilterResult.cs
        • SpanQueryFilter.cs
        • Spans
          • .svn
            • dir-wcprops
            • empty-file
            • entries
            • format
            • prop-base
              • NearSpans.cs.svn-base
              • NearSpansOrdered.cs.svn-base
              • NearSpansUnordered.cs.svn-base
              • Package.html.svn-base
              • SpanFirstQuery.cs.svn-base
              • SpanNearQuery.cs.svn-base
              • SpanNotQuery.cs.svn-base
              • SpanOrQuery.cs.svn-base
              • SpanQuery.cs.svn-base
              • Spans.cs.svn-base
              • SpanScorer.cs.svn-base
              • SpanTermQuery.cs.svn-base
              • SpanWeight.cs.svn-base
              • TermSpans.cs.svn-base
            • props
              • NearSpans.cs.svn-work
              • NearSpansOrdered.cs.svn-work
              • NearSpansUnordered.cs.svn-work
              • Package.html.svn-work
              • SpanFirstQuery.cs.svn-work
              • SpanNearQuery.cs.svn-work
              • SpanNotQuery.cs.svn-work
              • SpanOrQuery.cs.svn-work
              • SpanQuery.cs.svn-work
              • Spans.cs.svn-work
              • SpanScorer.cs.svn-work
              • SpanTermQuery.cs.svn-work
              • SpanWeight.cs.svn-work
              • TermSpans.cs.svn-work
            • README.txt
            • text-base
              • NearSpans.cs.svn-base
              • NearSpansOrdered.cs.svn-base
              • NearSpansUnordered.cs.svn-base
              • Package.html.svn-base
              • SpanFirstQuery.cs.svn-base
              • SpanNearQuery.cs.svn-base
              • SpanNotQuery.cs.svn-base
              • SpanOrQuery.cs.svn-base
              • SpanQuery.cs.svn-base
              • Spans.cs.svn-base
              • SpanScorer.cs.svn-base
              • SpanTermQuery.cs.svn-base
              • SpanWeight.cs.svn-base
              • TermSpans.cs.svn-base
            • tmp
              • prop-base
              • props
              • text-base
              • wcprops
            • wcprops
              • NearSpans.cs.svn-work
              • NearSpansOrdered.cs.svn-work
              • NearSpansUnordered.cs.svn-work
              • Package.html.svn-work
              • SpanFirstQuery.cs.svn-work
              • SpanNearQuery.cs.svn-work
              • SpanNotQuery.cs.svn-work
              • SpanOrQuery.cs.svn-work
              • SpanQuery.cs.svn-work
              • Spans.cs.svn-work
              • SpanScorer.cs.svn-work
              • SpanTermQuery.cs.svn-work
              • SpanWeight.cs.svn-work
              • TermSpans.cs.svn-work
          • NearSpans.cs
          • NearSpansOrdered.cs
          • NearSpansUnordered.cs
          • Package.html
          • SpanFirstQuery.cs
          • SpanNearQuery.cs
          • SpanNotQuery.cs
          • SpanOrQuery.cs
          • SpanQuery.cs
          • Spans.cs
          • SpanScorer.cs
          • SpanTermQuery.cs
          • SpanWeight.cs
          • TermSpans.cs
        • TermQuery.cs
        • TermScorer.cs
        • TopDocCollector.cs
        • TopDocs.cs
        • TopFieldDocCollector.cs
        • TopFieldDocs.cs
        • Weight.cs
        • WildcardQuery.cs
        • WildcardTermEnum.cs
      • SharpZipLibAdapter.cs
      • Store
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • AlreadyClosedException.cs.svn-base
            • BufferedIndexInput.cs.svn-base
            • BufferedIndexOutput.cs.svn-base
            • Directory.cs.svn-base
            • FSDirectory.cs.svn-base
            • IndexInput.cs.svn-base
            • IndexOutput.cs.svn-base
            • Lock.cs.svn-base
            • LockFactory.cs.svn-base
            • LockObtainFailedException.cs.svn-base
            • LockReleaseFailedException.cs.svn-base
            • LockStressTest.cs.svn-base
            • LockVerifyServer.cs.svn-base
            • MMapDirectory.cs.svn-base
            • NativeFSLockFactory.cs.svn-base
            • NoLockFactory.cs.svn-base
            • Package.html.svn-base
            • RAMDirectory.cs.svn-base
            • RAMFile.cs.svn-base
            • RAMInputStream.cs.svn-base
            • RAMOutputStream.cs.svn-base
            • SimpleFSLockFactory.cs.svn-base
            • SingleInstanceLockFactory.cs.svn-base
            • VerifyingLockFactory.cs.svn-base
          • props
            • AlreadyClosedException.cs.svn-work
            • BufferedIndexInput.cs.svn-work
            • BufferedIndexOutput.cs.svn-work
            • Directory.cs.svn-work
            • FSDirectory.cs.svn-work
            • IndexInput.cs.svn-work
            • IndexOutput.cs.svn-work
            • Lock.cs.svn-work
            • LockFactory.cs.svn-work
            • LockObtainFailedException.cs.svn-work
            • LockReleaseFailedException.cs.svn-work
            • LockStressTest.cs.svn-work
            • LockVerifyServer.cs.svn-work
            • MMapDirectory.cs.svn-work
            • NativeFSLockFactory.cs.svn-work
            • NoLockFactory.cs.svn-work
            • Package.html.svn-work
            • RAMDirectory.cs.svn-work
            • RAMFile.cs.svn-work
            • RAMInputStream.cs.svn-work
            • RAMOutputStream.cs.svn-work
            • SimpleFSLockFactory.cs.svn-work
            • SingleInstanceLockFactory.cs.svn-work
            • VerifyingLockFactory.cs.svn-work
          • README.txt
          • text-base
            • AlreadyClosedException.cs.svn-base
            • BufferedIndexInput.cs.svn-base
            • BufferedIndexOutput.cs.svn-base
            • Directory.cs.svn-base
            • FSDirectory.cs.svn-base
            • IndexInput.cs.svn-base
            • IndexOutput.cs.svn-base
            • Lock.cs.svn-base
            • LockFactory.cs.svn-base
            • LockObtainFailedException.cs.svn-base
            • LockReleaseFailedException.cs.svn-base
            • LockStressTest.cs.svn-base
            • LockVerifyServer.cs.svn-base
            • MMapDirectory.cs.svn-base
            • NativeFSLockFactory.cs.svn-base
            • NoLockFactory.cs.svn-base
            • Package.html.svn-base
            • RAMDirectory.cs.svn-base
            • RAMFile.cs.svn-base
            • RAMInputStream.cs.svn-base
            • RAMOutputStream.cs.svn-base
            • SimpleFSLockFactory.cs.svn-base
            • SingleInstanceLockFactory.cs.svn-base
            • VerifyingLockFactory.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • AlreadyClosedException.cs.svn-work
            • BufferedIndexInput.cs.svn-work
            • BufferedIndexOutput.cs.svn-work
            • Directory.cs.svn-work
            • FSDirectory.cs.svn-work
            • IndexInput.cs.svn-work
            • IndexOutput.cs.svn-work
            • Lock.cs.svn-work
            • LockFactory.cs.svn-work
            • LockObtainFailedException.cs.svn-work
            • LockReleaseFailedException.cs.svn-work
            • LockStressTest.cs.svn-work
            • LockVerifyServer.cs.svn-work
            • MMapDirectory.cs.svn-work
            • NativeFSLockFactory.cs.svn-work
            • NoLockFactory.cs.svn-work
            • Package.html.svn-work
            • RAMDirectory.cs.svn-work
            • RAMFile.cs.svn-work
            • RAMInputStream.cs.svn-work
            • RAMOutputStream.cs.svn-work
            • SimpleFSLockFactory.cs.svn-work
            • SingleInstanceLockFactory.cs.svn-work
            • VerifyingLockFactory.cs.svn-work
        • AlreadyClosedException.cs
        • BufferedIndexInput.cs
        • BufferedIndexOutput.cs
        • Directory.cs
        • FSDirectory.cs
        • IndexInput.cs
        • IndexOutput.cs
        • Lock.cs
        • LockFactory.cs
        • LockObtainFailedException.cs
        • LockReleaseFailedException.cs
        • LockStressTest.cs
        • LockVerifyServer.cs
        • MMapDirectory.cs
        • NativeFSLockFactory.cs
        • NoLockFactory.cs
        • Package.html
        • RAMDirectory.cs
        • RAMFile.cs
        • RAMInputStream.cs
        • RAMOutputStream.cs
        • SimpleFSLockFactory.cs
        • SingleInstanceLockFactory.cs
        • VerifyingLockFactory.cs
      • SupportClass.cs
      • Util
        • .svn
          • dir-wcprops
          • empty-file
          • entries
          • format
          • prop-base
            • BitVector.cs.svn-base
            • Constants.cs.svn-base
            • Package.html.svn-base
            • Parameter.cs.svn-base
            • PriorityQueue.cs.svn-base
            • ScorerDocQueue.cs.svn-base
            • SmallFloat.cs.svn-base
            • StringHelper.cs.svn-base
            • ToStringUtils.cs.svn-base
          • props
            • BitVector.cs.svn-work
            • Constants.cs.svn-work
            • Package.html.svn-work
            • Parameter.cs.svn-work
            • PriorityQueue.cs.svn-work
            • ScorerDocQueue.cs.svn-work
            • SmallFloat.cs.svn-work
            • StringHelper.cs.svn-work
            • ToStringUtils.cs.svn-work
          • README.txt
          • text-base
            • BitVector.cs.svn-base
            • Constants.cs.svn-base
            • Package.html.svn-base
            • Parameter.cs.svn-base
            • PriorityQueue.cs.svn-base
            • ScorerDocQueue.cs.svn-base
            • SmallFloat.cs.svn-base
            • StringHelper.cs.svn-base
            • ToStringUtils.cs.svn-base
          • tmp
            • prop-base
            • props
            • text-base
            • wcprops
          • wcprops
            • BitVector.cs.svn-work
            • Constants.cs.svn-work
            • Package.html.svn-work
            • Parameter.cs.svn-work
            • PriorityQueue.cs.svn-work
            • ScorerDocQueue.cs.svn-work
            • SmallFloat.cs.svn-work
            • StringHelper.cs.svn-work
            • ToStringUtils.cs.svn-work
        • BitVector.cs
        • Constants.cs
        • Package.html
        • Parameter.cs
        • PriorityQueue.cs
        • ScorerDocQueue.cs
        • SmallFloat.cs
        • StringHelper.cs
        • ToStringUtils.cs
/*
 * 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 IndexReader = Lucene.Net.Index.IndexReader;
using ToStringUtils = Lucene.Net.Util.ToStringUtils;
using Occur = Lucene.Net.Search.BooleanClause.Occur;

namespace Lucene.Net.Search
{
	
	/// <summary>A Query that matches documents matching boolean combinations of other
	/// queries, e.g. {@link TermQuery}s, {@link PhraseQuery}s or other
	/// BooleanQuerys.
	/// </summary>
	[Serializable]
	public class BooleanQuery : Query, System.ICloneable
	{
        [Serializable]
		private class AnonymousClassSimilarityDelegator : SimilarityDelegator
		{
			private void  InitBlock(BooleanQuery enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private BooleanQuery enclosingInstance;
			public BooleanQuery Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			internal AnonymousClassSimilarityDelegator(BooleanQuery enclosingInstance, Lucene.Net.Search.Similarity Param1):base(Param1)
			{
				InitBlock(enclosingInstance);
			}
			public override float Coord(int overlap, int maxOverlap)
			{
				return 1.0f;
			}
		}
		
		
		private static int maxClauseCount = 1024;
		
		/// <summary>Thrown when an attempt is made to add more than {@link
		/// #GetMaxClauseCount()} clauses. This typically happens if
		/// a PrefixQuery, FuzzyQuery, WildcardQuery, or RangeQuery 
		/// is expanded to many terms during search. 
		/// </summary>
		[Serializable]
		public class TooManyClauses : System.SystemException
		{
			public override System.String Message
			{
				get
				{
					return "maxClauseCount is set to " + Lucene.Net.Search.BooleanQuery.maxClauseCount;
				}
				
			}
			public TooManyClauses()
			{
			}
		}
		
		/// <summary>Return the maximum number of clauses permitted, 1024 by default.
		/// Attempts to add more than the permitted number of clauses cause {@link
		/// TooManyClauses} to be thrown.
		/// </summary>
		/// <seealso cref="#SetMaxClauseCount(int)">
		/// </seealso>
		public static int GetMaxClauseCount()
		{
			return maxClauseCount;
		}
		
		/// <summary>Set the maximum number of clauses permitted per BooleanQuery.
		/// Default value is 1024.
		/// <p>TermQuery clauses are generated from for example prefix queries and
		/// fuzzy queries. Each TermQuery needs some buffer space during search,
		/// so this parameter indirectly controls the maximum buffer requirements for
		/// query search.
		/// <p>When this parameter becomes a bottleneck for a Query one can use a
		/// Filter. For example instead of a {@link RangeQuery} one can use a
		/// {@link RangeFilter}.
		/// <p>Normally the buffers are allocated by the JVM. When using for example
		/// {@link Lucene.Net.Store.MMapDirectory} the buffering is left to
		/// the operating system.
		/// </summary>
		public static void  SetMaxClauseCount(int maxClauseCount)
		{
			if (maxClauseCount < 1)
				throw new System.ArgumentException("maxClauseCount must be >= 1");
			BooleanQuery.maxClauseCount = maxClauseCount;
		}
		
		private System.Collections.ArrayList clauses = new System.Collections.ArrayList();
		private bool disableCoord;
		
		/// <summary>Constructs an empty boolean query. </summary>
		public BooleanQuery()
		{
		}
		
		/// <summary>Constructs an empty boolean query.
		/// 
		/// {@link Similarity#Coord(int,int)} may be disabled in scoring, as
		/// appropriate. For example, this score factor does not make sense for most
		/// automatically generated queries, like {@link WildcardQuery} and {@link
		/// FuzzyQuery}.
		/// 
		/// </summary>
		/// <param name="disableCoord">disables {@link Similarity#Coord(int,int)} in scoring.
		/// </param>
		public BooleanQuery(bool disableCoord)
		{
			this.disableCoord = disableCoord;
		}
		
		/// <summary>Returns true iff {@link Similarity#Coord(int,int)} is disabled in
		/// scoring for this query instance.
		/// </summary>
		/// <seealso cref="#BooleanQuery(boolean)">
		/// </seealso>
		public virtual bool IsCoordDisabled()
		{
			return disableCoord;
		}
		
		// Implement coord disabling.
		// Inherit javadoc.
		public override Similarity GetSimilarity(Searcher searcher)
		{
			Similarity result = base.GetSimilarity(searcher);
			if (disableCoord)
			{
				// disable coord as requested
				result = new AnonymousClassSimilarityDelegator(this, result);
			}
			return result;
		}
		
		/// <summary> Specifies a minimum number of the optional BooleanClauses
		/// which must be satisfied.
		/// 
		/// <p>
		/// By default no optional clauses are necessary for a match
		/// (unless there are no required clauses).  If this method is used,
		/// then the specified number of clauses is required.
		/// </p>
		/// <p>
		/// Use of this method is totally independent of specifying that
		/// any specific clauses are required (or prohibited).  This number will
		/// only be compared against the number of matching optional clauses.
		/// </p>
		/// <p>
		/// EXPERT NOTE: Using this method may force collecting docs in order,
		/// regardless of whether setAllowDocsOutOfOrder(true) has been called.
		/// </p>
		/// 
		/// </summary>
		/// <param name="min">the number of optional clauses that must match
		/// </param>
		/// <seealso cref="setAllowDocsOutOfOrder">
		/// </seealso>
		public virtual void  SetMinimumNumberShouldMatch(int min)
		{
			this.minNrShouldMatch = min;
		}
		protected internal int minNrShouldMatch = 0;
		
		/// <summary> Gets the minimum number of the optional BooleanClauses
		/// which must be satisifed.
		/// </summary>
		public virtual int GetMinimumNumberShouldMatch()
		{
			return minNrShouldMatch;
		}
		
		/// <summary>Adds a clause to a boolean query.
		/// 
		/// </summary>
		/// <throws>  TooManyClauses if the new number of clauses exceeds the maximum clause number </throws>
		/// <seealso cref="#GetMaxClauseCount()">
		/// </seealso>
		public virtual void  Add(Query query, BooleanClause.Occur occur)
		{
			Add(new BooleanClause(query, occur));
		}
		
		/// <summary>Adds a clause to a boolean query.</summary>
		/// <throws>  TooManyClauses if the new number of clauses exceeds the maximum clause number </throws>
		/// <seealso cref="#GetMaxClauseCount()">
		/// </seealso>
		public virtual void  Add(BooleanClause clause)
		{
			if (clauses.Count >= maxClauseCount)
				throw new TooManyClauses();
			
			clauses.Add(clause);
		}
		
		/// <summary>Returns the set of clauses in this query. </summary>
		public virtual BooleanClause[] GetClauses()
		{
			return (BooleanClause[]) clauses.ToArray(typeof(BooleanClause));
		}
		
		/// <summary>Returns the list of clauses in this query. </summary>
		public virtual System.Collections.IList Clauses()
		{
			return clauses;
		}
		
		[Serializable]
		private class BooleanWeight : Weight
		{
			private void  InitBlock(BooleanQuery enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private BooleanQuery enclosingInstance;
			public BooleanQuery Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			protected internal Similarity similarity;
			protected internal System.Collections.ArrayList weights = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(10));
			
			public BooleanWeight(BooleanQuery enclosingInstance, Searcher searcher)
			{
				InitBlock(enclosingInstance);
				this.similarity = Enclosing_Instance.GetSimilarity(searcher);
				for (int i = 0; i < Enclosing_Instance.clauses.Count; i++)
				{
					BooleanClause c = (BooleanClause) Enclosing_Instance.clauses[i];
					weights.Add(c.GetQuery().CreateWeight(searcher));
				}
			}
			
			public virtual Query GetQuery()
			{
				return Enclosing_Instance;
			}
			public virtual float GetValue()
			{
				return Enclosing_Instance.GetBoost();
			}
			
			public virtual float SumOfSquaredWeights()
			{
				float sum = 0.0f;
				for (int i = 0; i < weights.Count; i++)
				{
					BooleanClause c = (BooleanClause) Enclosing_Instance.clauses[i];
					Weight w = (Weight) weights[i];
					// call sumOfSquaredWeights for all clauses in case of side effects
					float s = w.SumOfSquaredWeights(); // sum sub k
					if (!c.IsProhibited())
					// only add to sum for non-prohibited clauses
						sum += s;
				}
				
				sum *= Enclosing_Instance.GetBoost() * Enclosing_Instance.GetBoost(); // boost each sub-weight
				
				return sum;
			}
			
			
			public virtual void  Normalize(float norm)
			{
				norm *= Enclosing_Instance.GetBoost(); // incorporate boost
				for (int i = 0; i < weights.Count; i++)
				{
					Weight w = (Weight) weights[i];
					// normalize all clauses, (even if prohibited in case of side affects)
					w.Normalize(norm);
				}
			}
			
			/// <returns> Returns BooleanScorer2 that uses and provides skipTo(),
			/// and scores documents in document number order.
			/// </returns>
			public virtual Scorer Scorer(IndexReader reader)
			{
				BooleanScorer2 result = new BooleanScorer2(similarity, Enclosing_Instance.minNrShouldMatch, Lucene.Net.Search.BooleanQuery.allowDocsOutOfOrder);
				
				for (int i = 0; i < weights.Count; i++)
				{
					BooleanClause c = (BooleanClause) Enclosing_Instance.clauses[i];
					Weight w = (Weight) weights[i];
					Scorer subScorer = w.Scorer(reader);
					if (subScorer != null)
						result.Add(subScorer, c.IsRequired(), c.IsProhibited());
					else if (c.IsRequired())
						return null;
				}
				
				return result;
			}
			
			public virtual Explanation Explain(IndexReader reader, int doc)
			{
				int minShouldMatch = Enclosing_Instance.GetMinimumNumberShouldMatch();
				ComplexExplanation sumExpl = new ComplexExplanation();
				sumExpl.SetDescription("sum of:");
				int coord = 0;
				int maxCoord = 0;
				float sum = 0.0f;
				bool fail = false;
				int shouldMatchCount = 0;
				for (int i = 0; i < weights.Count; i++)
				{
					BooleanClause c = (BooleanClause) Enclosing_Instance.clauses[i];
					Weight w = (Weight) weights[i];
					Explanation e = w.Explain(reader, doc);
					if (!c.IsProhibited())
						maxCoord++;
					if (e.IsMatch())
					{
						if (!c.IsProhibited())
						{
							sumExpl.AddDetail(e);
							sum += e.GetValue();
							coord++;
						}
						else
						{
							Explanation r = new Explanation(0.0f, "match on prohibited clause (" + c.GetQuery().ToString() + ")");
							r.AddDetail(e);
							sumExpl.AddDetail(r);
							fail = true;
						}
						if (c.GetOccur().Equals(Occur.SHOULD))
							shouldMatchCount++;
					}
					else if (c.IsRequired())
					{
						Explanation r = new Explanation(0.0f, "no match on required clause (" + c.GetQuery().ToString() + ")");
						r.AddDetail(e);
						sumExpl.AddDetail(r);
						fail = true;
					}
				}
				if (fail)
				{
					System.Boolean tempAux = false;
					sumExpl.SetMatch(tempAux);
					sumExpl.SetValue(0.0f);
					sumExpl.SetDescription("Failure to meet condition(s) of required/prohibited clause(s)");
					return sumExpl;
				}
				else if (shouldMatchCount < minShouldMatch)
				{
					System.Boolean tempAux2 = false;
					sumExpl.SetMatch(tempAux2);
					sumExpl.SetValue(0.0f);
					sumExpl.SetDescription("Failure to match minimum number " + "of optional clauses: " + minShouldMatch);
					return sumExpl;
				}
				
				sumExpl.SetMatch(0 < coord ? true : false);
				sumExpl.SetValue(sum);
				
				float coordFactor = similarity.Coord(coord, maxCoord);
				if (coordFactor == 1.0f)
				// coord is no-op
					return sumExpl;
				// eliminate wrapper
				else
				{
					ComplexExplanation result = new ComplexExplanation(sumExpl.IsMatch(), sum * coordFactor, "product of:");
					result.AddDetail(sumExpl);
					result.AddDetail(new Explanation(coordFactor, "coord(" + coord + "/" + maxCoord + ")"));
					return result;
				}
			}
		}
		
		/// <summary>Whether hit docs may be collected out of docid order. </summary>
		private static bool allowDocsOutOfOrder = false;
		
		/// <summary> Expert: Indicates whether hit docs may be collected out of docid
		/// order.
		/// 
		/// <p>
		/// Background: although the contract of the Scorer class requires that
		/// documents be iterated in order of doc id, this was not true in early
		/// versions of Lucene.  Many pieces of functionality in the current
		/// Lucene code base have undefined behavior if this contract is not
		/// upheld, but in some specific simple cases may be faster.  (For
		/// example: disjunction queries with less than 32 prohibited clauses;
		/// This setting has no effect for other queries.)
		/// </p>
		/// 
		/// <p>
		/// Specifics: By setting this option to true, calls to 
		/// {@link HitCollector#Collect(int,float)} might be
		/// invoked first for docid N and only later for docid N-1.
		/// Being static, this setting is system wide.
		/// </p>
		/// </summary>
		public static void  SetAllowDocsOutOfOrder(bool allow)
		{
			allowDocsOutOfOrder = allow;
		}
		
		/// <summary> Whether hit docs may be collected out of docid order.</summary>
		/// <seealso cref="SetAllowDocsOutOfOrder(boolean)">
		/// </seealso>
		public static bool GetAllowDocsOutOfOrder()
		{
			return allowDocsOutOfOrder;
		}
		
		/// <deprecated> Use {@link #SetAllowDocsOutOfOrder(boolean)} instead. 
		/// </deprecated>
		public static void  SetUseScorer14(bool use14)
		{
			SetAllowDocsOutOfOrder(use14);
		}
		
		/// <deprecated> Use {@link #GetAllowDocsOutOfOrder()} instead.
		/// </deprecated>
		public static bool GetUseScorer14()
		{
			return GetAllowDocsOutOfOrder();
		}
		
		protected internal override Weight CreateWeight(Searcher searcher)
		{
			return new BooleanWeight(this, searcher);
		}
		
		public override Query Rewrite(IndexReader reader)
		{
			if (clauses.Count == 1)
			{
				// optimize 1-clause queries
				BooleanClause c = (BooleanClause) clauses[0];
				if (!c.IsProhibited())
				{
					// just return clause
					
					Query query = c.GetQuery().Rewrite(reader); // rewrite first
					
					if (GetBoost() != 1.0f)
					{
						// incorporate boost
						if (query == c.GetQuery())
						// if rewrite was no-op
							query = (Query) query.Clone(); // then clone before boost
						query.SetBoost(GetBoost() * query.GetBoost());
					}
					
					return query;
				}
			}
			
			BooleanQuery clone = null; // recursively rewrite
			for (int i = 0; i < clauses.Count; i++)
			{
				BooleanClause c = (BooleanClause) clauses[i];
				Query query = c.GetQuery().Rewrite(reader);
				if (query != c.GetQuery())
				{
					// clause rewrote: must clone
					if (clone == null)
						clone = (BooleanQuery) this.Clone();
					clone.clauses[i] = new BooleanClause(query, c.GetOccur());
				}
			}
			if (clone != null)
			{
				return clone; // some clauses rewrote
			}
			else
				return this; // no clauses rewrote
		}
		
		// inherit javadoc
		public override void  ExtractTerms(System.Collections.Hashtable terms)
		{
			for (System.Collections.IEnumerator i = clauses.GetEnumerator(); i.MoveNext(); )
			{
				BooleanClause clause = (BooleanClause) i.Current;
				clause.GetQuery().ExtractTerms(terms);
			}
		}
		
		public override System.Object Clone()
		{
			BooleanQuery clone = (BooleanQuery) base.Clone();
			clone.clauses = (System.Collections.ArrayList) this.clauses.Clone();
			return clone;
		}
		
		/// <summary>Prints a user-readable version of this query. </summary>
		public override System.String ToString(System.String field)
		{
			System.Text.StringBuilder buffer = new System.Text.StringBuilder();
			bool needParens = (GetBoost() != 1.0) || (GetMinimumNumberShouldMatch() > 0);
			if (needParens)
			{
				buffer.Append("(");
			}
			
			for (int i = 0; i < clauses.Count; i++)
			{
				BooleanClause c = (BooleanClause) clauses[i];
				if (c.IsProhibited())
					buffer.Append("-");
				else if (c.IsRequired())
					buffer.Append("+");
				
				Query subQuery = c.GetQuery();
				if (subQuery is BooleanQuery)
				{
					// wrap sub-bools in parens
					buffer.Append("(");
					buffer.Append(c.GetQuery().ToString(field));
					buffer.Append(")");
				}
				else
					buffer.Append(c.GetQuery().ToString(field));
				
				if (i != clauses.Count - 1)
					buffer.Append(" ");
			}
			
			if (needParens)
			{
				buffer.Append(")");
			}
			
			if (GetMinimumNumberShouldMatch() > 0)
			{
				buffer.Append('~');
				buffer.Append(GetMinimumNumberShouldMatch());
			}
			
			if (GetBoost() != 1.0f)
			{
				buffer.Append(ToStringUtils.Boost(GetBoost()));
			}
			
            return buffer.ToString().Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator, ".");
		}
		
		/// <summary>Returns true iff <code>o</code> is equal to this. </summary>
		public  override bool Equals(System.Object o)
		{
			if (!(o is BooleanQuery))
				return false;
			BooleanQuery other = (BooleanQuery) o;
			if (this.GetBoost() != other.GetBoost())
				return false;
			if (this.clauses.Count != other.clauses.Count)
				return false;
			for (int i = 0; i < this.clauses.Count; i++)
			{
				if (this.clauses[i].Equals(other.clauses[i]) == false)
					return false;
			}
			return this.GetMinimumNumberShouldMatch() == other.GetMinimumNumberShouldMatch();
		}
		
		/// <summary>Returns a hash code value for this object.</summary>
		public override int GetHashCode()
		{
			int hashCode = 0;

			for (int i = 0; i < clauses.Count; i++)
			{
				hashCode += clauses[i].GetHashCode();
			}

			return BitConverter.ToInt32(BitConverter.GetBytes(GetBoost()), 0) ^ hashCode + GetMinimumNumberShouldMatch();
        }
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) http://www.mascix.com/
Turkey Turkey

Comments and Discussions