<!doctype html>
<html>
  <head>
<!--
    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.
-->
<link href="/theme/css/lucene/global.css?v=0e493d7a" rel="stylesheet" type="text/css">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta name="Distribution" content="Global"/>
<meta name="Robots" content="index,follow"/>

<script type="text/javascript" src="/theme/javascript/lucene/prototype.js?v=0e493d7a"></script>
<script type="text/javascript" src="/theme/javascript/lucene/effects.js?v=0e493d7a"></script>
<script type="text/javascript" src="/theme/javascript/lucene/slides.js?v=0e493d7a"></script>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>    <title>Apache Lucene - Apache Lucene Core</title>
<meta name="keywords"
       content="apache, apache lucene, apache solr, solr, lucene
       search, information retrieval, spell checking, faceting, inverted index,
       open source"/>    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://lucene.apache.org/core/index.html"/>
    <meta property="og:title" content="Apache Lucene Core"/>
    <meta property="og:description" content="Apache Lucene™ is a high-performance, full-featured search engine library written entirely in Java. It is a technology suitable for..."/>
    <meta property="og:image" content="https://lucene.apache.org/theme/images/lucene/lucene_og_image.png?v=0e493d7a"/>
    <meta property="og:image:secure_url" content="https://lucene.apache.org/theme/images/lucene/lucene_og_image.png?v=0e493d7a"/>
<link rel="shortcut icon" type="image/png"
                                                 href="/theme/images/lucene/lucene-favicon.png?v=0e493d7a"/><link href="/theme/css/lucene/core.css?v=0e493d7a" rel="stylesheet" type="text/css">
  </head>
  <body id="home">
    <div id="wrap">
      <div id="header">
        <div id="logo" style="float:left">
          <a href="/">
            <img border="0" src="/theme/images/lucene/lucene_logo_green_300.png?v=0e493d7a" alt="Lucene Logo"/>
          </a>
        </div>
<!-- TODO: Search disabled as it does not work, 2021-02-21
<div id="search" style="float:right;zoom:1">
  <form id="quick-search" method="GET" action="https://sematext.com/opensee/lucene" name="searchform">
    <fieldset>
      <input type="search" id="q" name="q" placeholder="Search with Apache Solr..." class="class1 class2 hint" accesskey="q">
    </fieldset>
  </form>
</div>-->
        <div id="nav">
          <ul>
<li><a href="/core/index.html">Core</a></li>
<li><a href="/core/corenews.html">News</a></li>
<li><a href="/core/downloads.html">Download</a></li>
<li><a href="/core/discussion.html">Mailing Lists</a></li>
<li><a href="/core/documentation.html">Documentation</a></li>
<li><a href="/core/quickstart.html">Tutorials</a></li>
<li><a href="https://github.com/apache/lucene/issues">Issue Tracker</a></li>
<li><a class="last" href="/">Lucene TLP</a></li>
          </ul>
        </div>

<div id="slides">
  <div class="slideshow" id="mantleSlides">
<div id="slide1">
  <div class="callout">
    Ultra-fast Search Library<br/>
  </div>
  <div class="descwrapper">
    <div class="description">
      Apache Lucene sets the standard for search and indexing performance
    </div>
  </div>
  <div class="mantle">
    <img alt="Apache Lucene" src="/theme/images/lucene/core/mantle-lucene.png?v=0e493d7a"/>
  </div>
</div>
<div id="slide2" style="display:none">
  <div class="callout">
    Proven search capabilities<br/>
  </div>
  <div class="descwrapper">
    <div class="description">
      Lucene is the de facto standard for search libraries
    </div>
  </div>
  <div class="mantle">
    <img alt="Lucene Power" src="/theme/images/lucene/mantle-power.png?v=0e493d7a"/>
  </div>
</div>
<div id="slide3" style="display:none">
  <div class="callout">
    Innovation and Maturity
  </div>
  <div class="descwrapper">
    <div class="description">
      Lucene has proven stability as well as a track record of innovation
    </div>
  </div>
  <div class="mantle">
    <img alt="Apache Lucene" src="/theme/images/lucene/core/mantle-innovation.png?v=0e493d7a"/>
  </div>
</div>
<div id="slide4" style="display:none">
  <div class="callout">
    Apache 2.0 licensed
  </div>
  <div class="descwrapper">
    <div class="description">
      Apache Lucene is distributed under a commercially friendly Apache Software license
    </div>
  </div>
  <div class="mantle">
    <img alt="Apache Software Foundation" src="/theme/images/lucene/mantle-asf.png?v=0e493d7a"/>
  </div>
</div>  </div>
  <div class="controls">
    <a class="next" id="next" title="Next" href="#">Next</a>
    <a class="previous" id="previous" title="Previous" href="#">Previous</a>
    <a class="start" id="start" title="Start" href="#" style="display: none; ">Start</a>
    <a class="stop" id="stop" title="Stop" href="#">Stop</a>
  </div>

  <script type="text/javascript">
    function StartSlides() {
      new Slides('mantleSlides');
    }
document.observe('dom:loaded', StartSlides);
  </script>
</div> <!-- End #slides -->
      </div> <!-- End #header -->

      <div id="content-wrap" class="clearfix">
        <div id="main">
<div>
  <h1 class="title">Apache Lucene Core</h1>
  <p>Apache Lucene™ is a
high-performance, full-featured search engine library written entirely in Java.
It is a technology suitable for nearly any application that requires structured
search, full-text search, faceting, nearest-neighbor search across
high-dimensionality vectors, spell correction or query suggestions.</p>
<p>Apache Lucene is an open source project available for free download. Please use the
links on the right to access Lucene.</p>
<h1 id="lucenetm-features">Lucene™ Features</h1>
<p>Lucene offers powerful features through a simple API:</p>
<h2 id="scalable-high-performance-indexing">Scalable, High-Performance Indexing</h2>
<ul>
<li>over <a href="http://home.apache.org/~mikemccand/lucenebench/indexing.html">800GB/hour on modern hardware</a></li>
<li>small RAM requirements -- only 1MB heap</li>
<li>incremental indexing as fast as batch indexing</li>
<li>index size roughly 20-30% the size of text indexed</li>
</ul>
<h2 id="powerful-accurate-and-efficient-search-algorithms">Powerful, Accurate and Efficient Search Algorithms</h2>
<ul>
<li>ranked searching -- best results returned first</li>
<li>many powerful query types: phrase queries, wildcard queries, proximity
  queries, range queries and more</li>
<li>fielded searching (e.g. title, author, contents)</li>
<li>nearest-neighbor search for high-dimensionality vectors</li>
<li>sorting by any field</li>
<li>multiple-index searching with merged results</li>
<li>allows simultaneous update and searching</li>
<li>flexible faceting, highlighting, joins and result grouping</li>
<li>fast, memory-efficient and typo-tolerant suggesters</li>
<li>pluggable ranking models, including the <a href="http://en.wikipedia.org/wiki/Vector_Space_Model">Vector Space Model</a> and <a href="http://en.wikipedia.org/wiki/Okapi_BM25">Okapi BM25</a></li>
<li>configurable storage engine (codecs)</li>
</ul>
<h2 id="cross-platform-solution">Cross-Platform Solution</h2>
<ul>
<li>Available as Open Source software under the <a href="https://www.apache.org/licenses/LICENSE-2.0.html">Apache License</a> which lets you use
  Lucene in both commercial and Open Source programs</li>
<li>100%-pure Java</li>
<li>Implementations <a href="https://cwiki.apache.org/confluence/display/lucene/LuceneImplementations">in other programming languages available</a> that are index-compatible</li>
</ul>
</div>
        </div>
        <div id="sidebar">
<div class="button-wrapper">
  <div class="button-green">
    <a href="/core/downloads.html">Download</a>
    <div class="flap top">Click to</div>
    <div class="flap bottom">Apache Lucene 9.10.0</div>
  </div>
  <div class="download-desc">Apache Lucene 9.10.0</div>
</div>

<h1 id="resources">Resources</h1>
<ul>
  <li><a href="/core/discussion.html">Mailing Lists</a></li>
  <li><a href="/core/developer.html">Developer</a></li>
  <li><a href="/core/features.html">Features</a></li>
  <li><a href="/core/downloads.html">Releases</a></li>
  <li><a href="/core/systemreqs.html">System Requirements</a></li>
</ul>

<h1 id="release-docs">Release Docs</h1>
<ul>
  <li><a href="/core/9_10_0/index.html">9.10.0</a></li>
</ul>

<h1 id="about">About</h1>
<ul>
  <li><a href="https://www.apache.org/licenses/">License</a></li>
  <li><a href="/whoweare.html">Who We are</a></li>
</ul>

<h1 id="events">Events</h1>
<ul>
  <a class="acevent" data-format="square" data-mode="light" data-width="160" data-style="border: 1px solid lightgrey"></a>
</ul>

<h1 id="asf-links">ASF links</h1>
<ul>
  <li><a href="https://www.apache.org">Apache Software Foundation</a></li>
  <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
  <li><a href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
  <li><a href="https://www.apache.org/security/">Security</a></li>
</ul>

<h1 id="related-projects">Related Projects</h1>
<ul>
  <li><a href="https://solr.apache.org">Apache Solr</a></li>
  <li><a href="http://hadoop.apache.org">Apache Hadoop</a></li>
  <li><a href="http://manifoldcf.apache.org/">Apache ManifoldCF</a></li>
  <li><a href="http://lucenenet.apache.org/">Apache Lucene.Net</a></li>
  <li><a href="http://mahout.apache.org">Apache Mahout</a></li>
  <li><a href="http://nutch.apache.org">Apache Nutch</a></li>
  <li><a href="http://opennlp.apache.org/">Apache OpenNLP</a></li>
  <li><a href="http://tika.apache.org">Apache Tika</a></li>
  <li><a href="http://zookeeper.apache.org">Apache Zookeeper</a></li>
</ul>

<div class="status">
  <!-- No SVN anymore; TODO: how to do Git? INFRA does not have a plugin!
    <div id="svn"></div>
  -->
</div>        </div>
      </div> <!-- End #content-wrap -->

<div id="footer">
  <div class="copyright">
    <p>
      Copyright &copy; 2011-2024 The Apache Software Foundation, Licensed under
      the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.  <a href="/privacy.html">Privacy Policy</a>      <br/>
      Apache and the Apache feather logo are trademarks of The Apache Software Foundation.  Apache Lucene, Apache Solr and their
      respective logos are trademarks of the Apache Software Foundation.  Please see the <a href="https://www.apache.org/foundation/marks/">Apache Trademark Policy</a>
      for more information.
    </p>
  </div>
</div>    </div> <!-- End #wrap -->
  </body>
</html>