| <!DOCTYPE html> |
| <!--[if IE]><![endif]--> |
| <html> |
| |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <title>Lucene.Net | Apache Lucene.NET 4.8.0-beta00010 Documentation </title> |
| <meta name="viewport" content="width=device-width"> |
| <meta name="title" content="Lucene.Net | Apache Lucene.NET 4.8.0-beta00010 Documentation "> |
| <meta name="generator" content="docfx 2.56.0.0"> |
| |
| <link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico"> |
| <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css"> |
| <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css"> |
| <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css"> |
| <meta property="docfx:navrel" content="toc.html"> |
| <meta property="docfx:tocrel" content="core/toc.html"> |
| |
| <meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/"> |
| |
| </head> |
| <body data-spy="scroll" data-target="#affix" data-offset="120"> |
| <div id="wrapper"> |
| <header> |
| |
| <nav id="autocollapse" class="navbar ng-scope" role="navigation"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| |
| <a class="navbar-brand" href="/"> |
| <img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/lucene-net-color.png" alt=""> |
| </a> |
| </div> |
| <div class="collapse navbar-collapse" id="navbar"> |
| <form class="navbar-form navbar-right" role="search" id="search"> |
| <div class="form-group"> |
| <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off"> |
| </div> |
| </form> |
| </div> |
| </div> |
| </nav> |
| |
| <div class="subnav navbar navbar-default"> |
| <div class="container hide-when-search"> |
| <ul class="level0 breadcrumb"> |
| <li> |
| <a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a> |
| <span id="breadcrumb"> |
| <ul class="breadcrumb"> |
| <li></li> |
| </ul> |
| </span> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </header> |
| <div class="container body-content"> |
| |
| <div id="search-results"> |
| <div class="search-list"></div> |
| <div class="sr-items"> |
| <p><i class="glyphicon glyphicon-refresh index-loading"></i></p> |
| </div> |
| <ul id="pagination"></ul> |
| </div> |
| </div> |
| <div role="main" class="container body-content hide-when-search"> |
| |
| <div class="sidenav hide-when-search"> |
| <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a> |
| <div class="sidetoggle collapse" id="sidetoggle"> |
| <div id="sidetoc"></div> |
| </div> |
| </div> |
| <div class="article row grid-right"> |
| <div class="col-md-10"> |
| <article class="content wrap" id="_content" data-uid="Lucene.Net"> |
| |
| <h1 id="" data-uid="Lucene.Net" class="text-break">Lucene.Net</h1> |
| |
| <!-- |
| 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. |
| --> |
| <p>Apache Lucene is a high-performance, full-featured text search engine library. Here's a simple example how to use Lucene for indexing and searching (using JUnit to check if the results are what we expect):</p> |
| <!-- = Java2Html Converter 5.0 [2006-03-04] by Markus Gebhard markus@jave.de = --> |
| <pre><code> Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT); |
| |
| // Store the index in memory: |
| Directory directory = new RAMDirectory(); |
| // To store an index on disk, use this instead: |
| //Directory directory = FSDirectory.open("/tmp/testindex"); |
| IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_CURRENT, analyzer); |
| IndexWriter iwriter = new IndexWriter(directory, config); |
| Document doc = new Document(); |
| String text = "This is the text to be indexed."; |
| doc.add(new Field("fieldname", text, TextField.TYPE_STORED)); |
| iwriter.addDocument(doc); |
| iwriter.close(); |
| |
| // Now search the index: |
| DirectoryReader ireader = DirectoryReader.open(directory); |
| IndexSearcher isearcher = new IndexSearcher(ireader); |
| // Parse a simple query that searches for "text": |
| QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "fieldname", analyzer); |
| Query query = parser.parse("text"); |
| ScoreDoc[] hits = isearcher.search(query, null, 1000).scoreDocs; |
| assertEquals(1, hits.length); |
| // Iterate through the results: |
| for (int i = 0; i < hits.length;="" i++)="" {="" document="" hitdoc="isearcher.doc(hits[i].doc);" assertequals("this="" is="" the="" text="" to="" be="" indexed.",="" hitdoc.get("fieldname"));="" }="" ireader.close();=""> |
| </code></pre><p>The Lucene API is divided into several packages:</p> |
| <ul> |
| <li><p><strong><a class="xref" href="Lucene.Net.Analysis.html">Lucene.Net.Analysis</a></strong> |
| defines an abstract <a class="xref" href="Lucene.Net.Analysis.Analyzer.html">Analyzer</a> |
| API for converting text from a {@link java.io.Reader} |
| into a <a class="xref" href="Lucene.Net.Analysis.TokenStream.html">TokenStream</a>, |
| an enumeration of token <a class="xref" href="Lucene.Net.Util.Attribute.html">Attribute</a>s. |
| A TokenStream can be composed by applying <a class="xref" href="Lucene.Net.Analysis.TokenFilter.html">TokenFilter</a>s |
| to the output of a <a class="xref" href="Lucene.Net.Analysis.Tokenizer.html">Tokenizer</a>. |
| Tokenizers and TokenFilters are strung together and applied with an <a class="xref" href="Lucene.Net.Analysis.Analyzer.html">Analyzer</a>. |
| <a href="../analyzers-common/overview-summary.html">analyzers-common</a> provides a number of Analyzer implementations, including |
| <a href="../analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html">StopAnalyzer</a> |
| and the grammar-based <a href="../analyzers-common/org/apache/lucene/analysis/standard/StandardAnalyzer.html">StandardAnalyzer</a>.</p> |
| </li> |
| <li><p><strong><a class="xref" href="Lucene.Net.Codecs.html">Lucene.Net.Codecs</a></strong> |
| provides an abstraction over the encoding and decoding of the inverted index structure, |
| as well as different implementations that can be chosen depending upon application needs.</p> |
| </li> |
| <li><p><strong><a class="xref" href="Lucene.Net.Documents.html">Lucene.Net.Documents</a></strong> |
| provides a simple <a class="xref" href="Lucene.Net.Documents.Document.html">Document</a> |
| class. A Document is simply a set of named <a class="xref" href="Lucene.Net.Documents.Field.html">Field</a>s, |
| whose values may be strings or instances of {@link java.io.Reader}.</p> |
| </li> |
| <li><p><strong><a class="xref" href="Lucene.Net.Index.html">Lucene.Net.Index</a></strong> |
| provides two primary classes: <a class="xref" href="Lucene.Net.Index.IndexWriter.html">IndexWriter</a>, |
| which creates and adds documents to indices; and <a class="xref" href="Lucene.Net.Index.IndexReader.html">IndexReader</a>, |
| which accesses the data in the index.</p> |
| </li> |
| <li><p><strong><a class="xref" href="Lucene.Net.Search.html">Lucene.Net.Search</a></strong> |
| provides data structures to represent queries (ie <a class="xref" href="Lucene.Net.Search.TermQuery.html">TermQuery</a> |
| for individual words, <a class="xref" href="Lucene.Net.Search.PhraseQuery.html">PhraseQuery</a> |
| for phrases, and <a class="xref" href="Lucene.Net.Search.BooleanQuery.html">BooleanQuery</a> |
| for boolean combinations of queries) and the <a class="xref" href="Lucene.Net.Search.IndexSearcher.html">IndexSearcher</a> |
| which turns queries into <a class="xref" href="Lucene.Net.Search.TopDocs.html">TopDocs</a>. |
| A number of <a href="../queryparser/overview-summary.html">QueryParser</a>s are provided for producing |
| query structures from strings or xml.</p> |
| </li> |
| <li><p><strong><a class="xref" href="Lucene.Net.Store.html">Lucene.Net.Store</a></strong> |
| defines an abstract class for storing persistent data, the <a class="xref" href="Lucene.Net.Store.Directory.html">Directory</a>, |
| which is a collection of named files written by an <a class="xref" href="Lucene.Net.Store.IndexOutput.html">IndexOutput</a> |
| and read by an <a class="xref" href="Lucene.Net.Store.IndexInput.html">IndexInput</a>. |
| Multiple implementations are provided, including <a class="xref" href="Lucene.Net.Store.FSDirectory.html">FSDirectory</a>, |
| which uses a file system directory to store files, and <a class="xref" href="Lucene.Net.Store.RAMDirectory.html">RAMDirectory</a> |
| which implements files as memory-resident data structures.</p> |
| </li> |
| <li><p><strong><a class="xref" href="Lucene.Net.Util.html">Lucene.Net.Util</a></strong> |
| contains a few handy data structures and util classes, ie <a class="xref" href="Lucene.Net.Util.OpenBitSet.html">OpenBitSet</a> |
| and <a href="xref:Lucene.Net.Util.PriorityQueue">PriorityQueue</a>.</p> |
| </li> |
| </ul> |
| <p>To use Lucene, an application should:</p> |
| <ol> |
| <li><p>Create <a class="xref" href="Lucene.Net.Documents.Document.html">Document</a>s by |
| adding |
| <a class="xref" href="Lucene.Net.Documents.Field.html">Field</a>s;</p> |
| </li> |
| <li><p>Create an <a class="xref" href="Lucene.Net.Index.IndexWriter.html">IndexWriter</a> |
| and add documents to it with <a class="xref" href="Lucene.Net.Index.IndexWriter.html#methods">AddDocument</a>;</p> |
| </li> |
| <li><p>Call <a href="../queryparser/org/apache/lucene/queryparser/classic/QueryParserBase.html#parse(java.lang.String)">QueryParser.parse()</a> |
| to build a query from a string; and</p> |
| </li> |
| <li><p>Create an <a class="xref" href="Lucene.Net.Search.IndexSearcher.html">IndexSearcher</a> |
| and pass the query to its <a class="xref" href="Lucene.Net.Search.IndexSearcher.html#methods">Search</a> |
| method.</p> |
| </li> |
| </ol> |
| <p>Some simple examples of code which does this are:</p> |
| <ul> |
| <li><p><a href="../demo/src-html/org/apache/lucene/demo/IndexFiles.html">IndexFiles.java</a> creates an |
| index for all the files contained in a directory.</p> |
| </li> |
| <li><p><a href="../demo/src-html/org/apache/lucene/demo/SearchFiles.html">SearchFiles.java</a> prompts for |
| queries and searches an index.</p> |
| </li> |
| </ul> |
| </article> |
| </div> |
| |
| <div class="hidden-sm col-md-2" role="complementary"> |
| <div class="sideaffix"> |
| <div class="contribution"> |
| <ul class="nav"> |
| <li> |
| <a href="https://github.com/apache/lucenenet/blob/docs/4.8.0-beta00010/src/Lucene.Net/overview.md/#L1" class="contribution-link">Improve this Doc</a> |
| </li> |
| </ul> |
| </div> |
| <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix"> |
| <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> --> |
| </nav> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <footer> |
| <div class="grad-bottom"></div> |
| <div class="footer"> |
| <div class="container"> |
| <span class="pull-right"> |
| <a href="#top">Back to top</a> |
| </span> |
| Copyright © 2020 Licensed to the Apache Software Foundation (ASF) |
| |
| </div> |
| </div> |
| </footer> |
| </div> |
| |
| <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script> |
| <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script> |
| <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script> |
| </body> |
| </html> |