You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by bu...@apache.org on 2012/08/23 01:00:37 UTC
svn commit: r829796 - in /websites/staging/lucene/trunk/content: ./
pylucene/features.html pylucene/index.html pylucene/install.html
pylucene/mailing-lists.html
Author: buildbot
Date: Wed Aug 22 23:00:37 2012
New Revision: 829796
Log:
Staging update by buildbot for lucene
Modified:
websites/staging/lucene/trunk/content/ (props changed)
websites/staging/lucene/trunk/content/pylucene/features.html
websites/staging/lucene/trunk/content/pylucene/index.html
websites/staging/lucene/trunk/content/pylucene/install.html
websites/staging/lucene/trunk/content/pylucene/mailing-lists.html
Propchange: websites/staging/lucene/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Aug 22 23:00:37 2012
@@ -1 +1 @@
-1376259
+1376302
Modified: websites/staging/lucene/trunk/content/pylucene/features.html
==============================================================================
--- websites/staging/lucene/trunk/content/pylucene/features.html (original)
+++ websites/staging/lucene/trunk/content/pylucene/features.html Wed Aug 22 23:00:37 2012
@@ -134,10 +134,10 @@
<div><p><warning>
Before calling any PyLucene API that requires the Java VM, start it by
-calling <code>initVM(classpath, ...)</code>. More about this function
-in <a href="jcc/features.html">here</a>.
+calling <em>initVM(classpath, ...)</em>.
+More about this function in <a href="jcc/features.html">here</a>.
</warning></p>
-<h1 id="installing-pylucene">Installing PyLucene</h1>
+<h2 id="installing-pylucene">Installing PyLucene</h2>
<p>PyLucene is a Python extension built with
<a href="jcc/">JCC</a>.</p>
<p>To build PyLucene, JCC needs to be built first. Sources for JCC are
@@ -145,7 +145,7 @@ included with the PyLucene sources. Inst
installing JCC are <a href="jcc/install.html">here</a>. </p>
<p>Instruction for building PyLucene
are <a href="install.html">here</a>.</p>
-<h1 id="api-documentation">API documentation</h1>
+<h2 id="api-documentation">API documentation</h2>
<p>PyLucene is closely tracking Java Lucene releases. It intends to
supports the entire Lucene API.</p>
<p>PyLucene also includes a number of Lucene contrib packages: the
@@ -158,7 +158,7 @@ APIs. For the documentation on Java Luce
see <a href="http://lucene.apache.org/java/docs/api/index.html">here</a>.</p>
<p>To help with debugging and to support some Lucene APIs, PyLucene also
exposes some Java runtime APIs.</p>
-<h1 id="samples">Samples</h1>
+<h2 id="samples">Samples</h2>
<p>The best way to learn PyLucene is to look at the many samples
included with the PyLucene source release or on the web at:</p>
<ul>
@@ -182,18 +182,18 @@ even easier for Python developers.</p>
Gospodnetic, both part of the Java Lucene development team, and is
available from
<a href="http://www.manning.com/hatcher2">Manning Publications</a>.</p>
-<h1 id="threading-support-with-attachcurrentthread">Threading support with attachCurrentThread</h1>
+<h2 id="threading-support-with-attachcurrentthread">Threading support with attachCurrentThread</h2>
<p>Before PyLucene APIs can be used from a thread other than the main
thread that was not created by the Java Runtime, the
-<code>attachCurrentThread()</code> method must be called on the
-<code>JCCEnv</code> object returned by the <code>initVM()</code>
-or <code>getVMEnv()</code> functions.</p>
+<em>attachCurrentThread()</em> method must be called on the
+<em>JCCEnv</em> object returned by the <em>initVM()</em>
+or <em>getVMEnv()</em> functions.</p>
<h1 id="exception-handling-with-lucenejavaerror">Exception handling with lucene.JavaError</h1>
<p>Java exceptions are caught at the language barrier and reported to
Python by raising a JavaError instance whose args tuple contains the
actual Java Exception instance.</p>
-<h1 id="handling-java-arrays">Handling Java arrays</h1>
-<p>Java arrays are returned to Python in a <code>JArray</code>
+<h2 id="handling-java-arrays">Handling Java arrays</h2>
+<p>Java arrays are returned to Python in a <em>JArray</em>
wrapper instance that implements the Python sequence protocol. It
is possible to change array elements but not to change the array
size.</p>
@@ -202,38 +202,38 @@ returned in them. To call such an API an
array values after the call, a Java array needs to instantiated
first.<br/>
For example, accessing termDocs:</p>
-<p><source>
+<p><code>
termDocs = reader.termDocs(Term("isbn", isbn))
docs = JArray('int')(1) # allocate an int[1] array
freq = JArray('int')(1) # allocate an int[1] array
if termDocs.read(docs, freq) == 1:
bits.set(docs[0]) # access the array's first element
-</source></p>
-<p>In addition to <code>'int'</code>, the <code>'JArray'</code>
-function accepts <code>'object'</code>, <code>'string'</code>,
-<code>'bool'</code>, <code>'byte'</code>, <code>'char'</code>,
-<code>'double'</code>, <code>'float'</code>, <code>'long'</code>
-and <code>'short'</code> to create an array of the corresponding
-type. The <code>JArray('object')</code> constructor takes a second
+</code></p>
+<p>In addition to <em>int</em>, the <em>JArray</em>
+function accepts <em>object</em>, <em>string</em>,
+<em>bool</em>, <em>byte</em>, <em>char</em>,
+<em>double</em>, <em>float</em>, <em>long</em>
+and <em>short</em> to create an array of the corresponding
+type. The <em>JArray('object')</em> constructor takes a second
argument denoting the class of the object elements. This argument
is optional and defaults to Object.</p>
<p>To convert a char array to a Python string use a
-<code>''.join(array)</code> construct.</p>
+<em>''.join(array)</em> construct.</p>
<p>Instead of an integer denoting the size of the desired Java array,
a sequence of objects of the expected element type may be passed
in to the array constructor.<br/>
For example:</p>
-<p><source></p>
+<p><code></p>
<h1 id="creating-a-java-array-of-double-from-the-15-25-list">creating a Java array of double from the [1.5, 2.5] list</h1>
<p>JArray('double')([1.5, 2.5])
-</source></p>
+</code></p>
<p>All methods that expect an array also accept a sequence of Python
objects of the expected element type. If no values are expected
from the array arguments after the call, it is hence not necessary
to instantiate a Java array to make such calls.</p>
<p>See <a href="jcc/features.html">JCC</a> for more
information about handling arrays.</p>
-<h1 id="differences-between-the-java-lucene-and-pylucene-apis">Differences between the Java Lucene and PyLucene APIs</h1>
+<h2 id="differences-between-the-java-lucene-and-pylucene-apis">Differences between the Java Lucene and PyLucene APIs</h2>
<ul>
<li>
<p>The PyLucene API exposes all Java Lucene classes in a flat namespace
@@ -251,7 +251,7 @@ implement two class methods called insta
verify and cast an instance respectively.</p>
</li>
</ul>
-<h1 id="pythonic-extensions-to-the-java-lucene-apis">Pythonic extensions to the Java Lucene APIs</h1>
+<h2 id="pythonic-extensions-to-the-java-lucene-apis">Pythonic extensions to the Java Lucene APIs</h2>
<p>Java is a very verbose language. Python, on the other hand, offers
many syntactically attractive constructs for iteration, property
access, etc... As the Java Lucene samples from the <em>Lucene in
@@ -264,74 +264,74 @@ are iterable in Python. Two values are r
iteration, the zero-based number of the document in the Hits
instance and the document instance itself.<br/>
The Java loop:
-<source>
+<code>
for (int i = 0; i < hits.length(); i++) {
Document doc = hits.doc(i);
System.out.println(hits.score(i) + " : " + doc.get("title"));
}
-</source>
+</code>
can be written in Python:
-<source>
+<code>
for hit in hits:
hit = Hit.cast_(hit)
print hit.getScore(), ':', hit.getDocument['title']
- </source>
+ </code>
if hit.iterator()'s next() method were declared to return
-<code>Hit</code> instead of <code>Object</code>, the above
+<em>Hit</em> instead of <em>Object</em>, the above
cast_() call would not be unnecessary.<br/>
The same java loop can also be written:
-<source>
+<code>
for i xrange(len(hits)):
print hits.score(i), ':', hits[i]['title']
-</source></p>
+</code></p>
</li>
<li>
<p>Hits instances partially implement the Python 'sequence'
protocol.<br/>
The Java expressions:
-<source>
+<code>
hits.length()
doc = hits.get(i)
-</source>
+</code>
are better written in Python:
-<source>
+<code>
len(hits)
doc = hits[i]
-</source></p>
+</code></p>
</li>
<li>
<p>Document instances have fields whose values can be accessed
through the mapping protocol.<br/>
The Java expression:
-<source>
+<code>
doc.get("title")
-</source>
+</code>
is better written in Python:
-<source>
+<code>
doc['title']
-</source></p>
+</code></p>
</li>
<li>
<p>Document instances can be iterated over for their fields.<br/>
The Java loop:
-<source>
+<code>
Enumeration fields = doc.getFields();
while (fields.hasMoreElements()) {
Field field = (Field) fields.nextElement();
...
}
-</source>
+</code>
is better written in Python:
-<source>
+<code>
for field in doc.getFields():
field = Field.cast_(field)
...
-</source>
+</code>
Once JCC heeds Java 1.5 type parameters and once Java Lucene
makes use of them, such casting should become unncessary.</p>
</li>
</ul>
-<h1 id="extending-java-lucene-classes-from-python">Extending Java Lucene classes from Python</h1>
+<h2 id="extending-java-lucene-classes-from-python">Extending Java Lucene classes from Python</h2>
<p>Many areas of the Lucene API expect the programmer to provide
their own implementation or specialization of a feature where
the default is inappropriate. For example, text analyzers and
Modified: websites/staging/lucene/trunk/content/pylucene/index.html
==============================================================================
--- websites/staging/lucene/trunk/content/pylucene/index.html (original)
+++ websites/staging/lucene/trunk/content/pylucene/index.html Wed Aug 22 23:00:37 2012
@@ -142,7 +142,7 @@ version of Java Lucene, version 3.6 as o
<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
-<code>lucene</code> is machine-generated by JCC.</p>
+<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
Modified: websites/staging/lucene/trunk/content/pylucene/install.html
==============================================================================
--- websites/staging/lucene/trunk/content/pylucene/install.html (original)
+++ websites/staging/lucene/trunk/content/pylucene/install.html Wed Aug 22 23:00:37 2012
@@ -132,10 +132,10 @@
<div id="main">
<h1 class="title"></h1>
- <div><h1 id="building-pylucene">Building PyLucene</h1>
+ <div><h2 id="building-pylucene">Building PyLucene</h2>
<p>PyLucene is completely code-generated by JCC whose sources are
included with the PyLucene sources.<br/></p>
-<h1 id="requirements">Requirements</h1>
+<h2 id="requirements">Requirements</h2>
<p>To build PyLucene a Java Development Kit (JDK)
and <a href="http://ant.apache.org">Ant</a> are required; use of the
resulting PyLucene binaries requires only a Java Runtime Environment
@@ -145,26 +145,26 @@ package is required to build and run PyL
later versions of Python, setuptools is only required for shared
mode. See JCC's <a href="jcc/install.html">installation
instructions</a> for more information.</p>
-<h1 id="for-the-impatient-ones">For the Impatient Ones</h1>
+<h2 id="for-the-impatient-ones">For the Impatient Ones</h2>
<ul>
-<li><code>pushd jcc</code></li>
-<li><edit <code>setup.py</code> to match your environment></li>
-<li><code>python setup.py build</code></li>
-<li><code>sudo python setup.py install</code></li>
-<li><code>popd</code></li>
-<li><edit <code>Makefile</code> to match your environment></li>
-<li><code>make</code></li>
-<li><code>sudo make install</code></li>
-<li><code>make test</code> (look for failures)</li>
+<li><em>pushd jcc</em></li>
+<li><edit <em>setup.py</em> to match your environment></li>
+<li><em>python setup.py build</em></li>
+<li><em>sudo python setup.py install</em></li>
+<li><em>popd</em></li>
+<li><edit <em>Makefile</em> to match your environment></li>
+<li><em>make</em></li>
+<li><em>sudo make install</em></li>
+<li><em>make test</em> (look for failures)</li>
</ul>
-<h1 id="for-the-rest-of-us">For the Rest of Us</h1>
+<h2 id="for-the-rest-of-us">For the Rest of Us</h2>
<p>Before building PyLucene, JCC must be
built first. See
JCC's <a href="jcc/install.html">installation
instructions</a> for building and installing it.</p>
<p>Once JCC is built and installed, PyLucene is built
-via <code>make</code> which invokes JCC. See PyLucene's
-<code>Makefile</code> for configuration instructions.</p>
+via <em>make</em> which invokes JCC. See PyLucene's
+<em>Makefile</em> for configuration instructions.</p>
<p>There are limits to both how many files can fit on the command
line and how large a C++ file the C++ compiler can handle.
By default, JCC generates one large C++ file containing the source
@@ -185,13 +185,13 @@ tuned to workaround various limits, for
<code>--files separate</code></p>
</li>
</ul>
-<h1 id="notes-for-solaris">Notes for Solaris</h1>
+<h2 id="notes-for-solaris">Notes for Solaris</h2>
<p>PyLucene's Makefile is a GNU Makefile. Be sure to
-use <code>gmake</code> instead of plain <code>make</code>.</p>
+use <em>gmake</em> instead of plain <em>make</em>.</p>
<p>Just as when building JCC, Python's distutils must be nudged a bit to
invoke the correct compiler. Sun Studio's C compiler is
-called <code>cc</code> while its C++ compiler is
-called <code>CC</code>.<br/></p>
+called <em>cc</em> while its C++ compiler is
+called <em>CC</em>.<br/></p>
<p>To build PyLucene, use the following shell command to ensure that
the C++ compiler is used:<br/>
<code>
Modified: websites/staging/lucene/trunk/content/pylucene/mailing-lists.html
==============================================================================
--- websites/staging/lucene/trunk/content/pylucene/mailing-lists.html (original)
+++ websites/staging/lucene/trunk/content/pylucene/mailing-lists.html Wed Aug 22 23:00:37 2012
@@ -132,7 +132,7 @@
<div id="main">
<h1 class="title">Mailing Lists</h1>
- <div><h1 id="users">Users</h1>
+ <div><h2 id="users">Users</h2>
<p>Historically, Lucene user issues or questions have almost always
been best addressed on the Java Lucene User mailing list. PyLucene
users with general Lucene questions should consider contacting
@@ -145,7 +145,7 @@ mailing list.</p>
In order to post to the <a href="#Developers">PyLucene Developer</a>
list, it is necessary to first <a href="mailto:pylucene-dev-subscribe@lucene.apache.org">subscribe</a> to it. See below for more information.
</note> </p>
-<h1 id="developers">Developers</h1>
+<h2 id="developers">Developers</h2>
<p>If you'd like to contribute to PyLucene or are having questions
specific to PyLucene or JCC, please subscribe to the PyLucene
developer mailing list.</p>
@@ -159,7 +159,7 @@ developer mailing list.</p>
<p><note>
In order to post to the list, it is necessary to first <a href="mailto:pylucene-dev-subscribe@lucene.apache.org">subscribe</a> to it.
</note> </p>
-<h1 id="commits">Commits</h1>
+<h2 id="commits">Commits</h2>
<p>If you'd like to be notified when source code changes are committed
to PyLucene's <a href="version_control.html">version control
system</a> then subscribe to the PyLucene commits mailing list.</p>