<!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 - Welcome to PyLucene</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/pylucene/index.html"/>
    <meta property="og:title" content="Welcome to PyLucene"/>
    <meta property="og:description" content="What is PyLucene ? PyLucene is a Python extension for accessing Java Lucene™. Its goal is to allow you to use Lucene's text indexing..."/>
    <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/pylucene.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="/pylucene/index.html">PyLucene</a></li>
<li><a href="/pylucene/news.html">News</a></li>
<li><a href="/pylucene/jcc/index.html">JCC</a></li>
<li><a href="https://issues.apache.org/jira/browse/PYLUCENE">Issue Tracker</a></li>
<li><a href="/pylucene/mailing-lists.html">Mailing Lists</a></li>
<li><a class="last" href="/">Lucene TLP</a></li>
          </ul>
        </div>

      </div> <!-- End #header -->

      <div id="content-wrap" class="clearfix">
        <div id="main">
<div>
  <h1 class="title">Welcome to PyLucene</h1>
  <h2 id="what-is-pylucene">What is PyLucene ?</h2>
<p>PyLucene is a <a href="https://www.python.org">Python</a> extension for accessing Java
<a href="https://lucene.apache.org/java/">Lucene</a>™. Its goal
is to allow you to use Lucene's text indexing and searching capabilities from
Python. It is API compatible with Java Lucene version 9.10.0 as of March 4th,
2024.</p>
<p>PyLucene is not a Lucene port but a Python wrapper around Java Lucene. PyLucene
embeds a Java VM with Lucene into a Python process. The PyLucene Python extension,
a Python module called <strong>lucene</strong> is machine-generated by JCC.</p>
<p>PyLucene is built with <a href="jcc/index.html">JCC</a>, a C++ code generator that makes it
possible to call into Java classes from Python via Java's Native Invocation
Interface (JNI). Sources for JCC are included with the PyLucene sources.</p>
<p>See <a href="features.html">here</a> for more information and documentation about PyLucene.</p>
<h2 id="requirements">Requirements</h2>
<p>PyLucene is supported on macOS, Linux, Solaris and Windows.</p>
<p>PyLucene requires Python 3.x (x &gt;= 3), and Java x (x &gt;= 8 for PyLucene 8 and
earlier, x &gt;= 11 for PyLucene 9).
Python 2 support is untested since PyLucene 9.4.1 / JCC 3.13.
Building PyLucene requires GNU Make and a C++ compiler. Use of
<a href="https://pypi.python.org/pypi/setuptools">setuptools</a> is recommended.</p>
<p>See the JCC <a href="jcc/install.html">installation</a> instructions for more information
about building JCC from sources.</p>
<p>See the PyLucene <a href="install.html">installation instructions</a> for more information
about building PyLucene from sources.</p>
</div>


<h1 id="news">Latest News
  <a class="headerlink" href="#news" title="Permanent link">¶</a>
</h1>

<div>
  <h2 id="pylucene-9100-available">
    4 March 2024 - PyLucene 9.10.0 available
    <a class="headerlink" href="news.html#pylucene-9100-available" title="Permanent link">¶</a>
  </h2>
  <p>This release tracks Lucene Core's 9.10.0 <a href="https://lucene.apache.org/core/corenews.html">release</a> and requires Java 11.<br/>
See <a href="https://svn.apache.org/repos/asf/lucene/pylucene/tags/pylucene_9_10_0/CHANGES">PyLucene 9.10.0 CHANGES</a> and <a href="https://svn.apache.org/repos/asf/lucene/pylucene/tags/pylucene_9_10_0/jcc/CHANGES">JCC 3.14 CHANGES</a> for details.<br/>
Source distributions are available <a href="https://www.apache.org/dyn/closer.lua/lucene/pylucene/">here</a>.<br/></p>
  <h2 id="pylucene-970-available">
    12 July 2023 - PyLucene 9.7.0 available
    <a class="headerlink" href="news.html#pylucene-970-available" title="Permanent link">¶</a>
  </h2>
  <p>This release tracks Lucene Core's 9.7.0 <a href="https://lucene.apache.org/core/corenews.html">release</a> and requires Java 11.<br/>
See <a href="https://svn.apache.org/repos/asf/lucene/pylucene/tags/pylucene_9_7_0/CHANGES">PyLucene 9.7.0 CHANGES</a> and <a href="https://svn.apache.org/repos/asf/lucene/pylucene/tags/pylucene_9_7_0/jcc/CHANGES">JCC 3.13 CHANGES</a> for details.<br/>
Source distributions are available <a href="https://www.apache.org/dyn/closer.lua/lucene/pylucene/">here</a>.<br/></p>
  <h2 id="pylucene-960-available">
    3 June 2023 - PyLucene 9.6.0 available
    <a class="headerlink" href="news.html#pylucene-960-available" title="Permanent link">¶</a>
  </h2>
  <p>This release tracks Lucene Core's 9.6.0 <a href="https://lucene.apache.org/core/corenews.html">release</a> and requires Java 11.<br/>
See <a href="https://svn.apache.org/repos/asf/lucene/pylucene/tags/pylucene_9_6_0/CHANGES">PyLucene 9.6.0 CHANGES</a> and <a href="https://svn.apache.org/repos/asf/lucene/pylucene/tags/pylucene_9_6_0/jcc/CHANGES">JCC 3.13 CHANGES</a> for details.<br/>
Source distributions are available <a href="https://www.apache.org/dyn/closer.lua/lucene/pylucene/">here</a>.<br/></p>
</div>
<div>For all news items, see <a href="news.html">PyLucene News</a></div>

        </div>
        <div id="sidebar">
<div class="button-wrapper" style="margin-top: 40px;">
  <div class="button-green">
    <a href="https://www.apache.org/dyn/closer.lua/lucene/pylucene/">Download</a>
    <div class="flap top">Click to begin</div>
    <div class="flap bottom">of Apache PyLucene</div>
  </div>
</div>

<h1 id="documentation">Documentation<a class="headerlink" href="#documentation" title="Permanent link">¶</a></h1>
<ul>
  <li><a href="https://www.apache.org/licenses/">License</a></li>
  <li><a href="/pylucene/features.html">Features</a></li>
  <li><a href="/pylucene/install.html">Install</a></li>
</ul>

<h1 id="events">Events<a class="headerlink" href="#events" title="Permanent link">¶</a></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<a class="headerlink" href="#asf-links" title="Permanent link">¶</a></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<a class="headerlink" href="#related-projects" title="Permanent link">¶</a></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>
      </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>