[
https://issues.apache.org/jira/browse/DERBY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-590:
--------------------------------
Attachment: derby-590-31-aa-multiField.diff
Attaching derby-590-xx-publicAPILuceneUtils.diff. This patch changes the api of
the Lucene plugin as Knut and I discussed. The Lucene tests run cleanly with
this patch.
This patch makes the following changes:
1) Adds a new interface to the public api:
org.apache.derby.optional.api.LuceneIndexDescriptor. This interface allows the
application developer to describe the following:
a) The names of fields which can be specified in Lucene queries.
b) The Analyzer which should be used to build the index.
c) The QueryParser which should be used to parse Lucene queries against the
index.
2) Changes the signatures of createIndex() and updateIndex(). The routines now
take an indexDescriptorMaker rather than an analyzerMaker.
3) Changes the signature of the index-specific table function which is used to
run queries against the index. The queryParserMaker argument has been removed.
Internally, the query uses the QueryParser returned by the
LuceneIndexDescriptor which was bound to the index at createIndex() time.
4) Changes the signature of the table returned by listIndexes(). The table no
longer has an analyzerMaker column. Instead, it has an indexDescriptorMaker
column.
I expect that I will file a follow-on patch to address some more issues which I
want to explore. I think that we need to prevent a LuceneIndexDescriptor from
specifying field names which conflict with the names of the key and text
columns.
After that, I plan to update the functional spec and file a doc issue to
address these changes.
Touches the following files:
--------------------
A java/optional/org/apache/derby/optional/api/LuceneIndexDescriptor.java
M java/optional/org/apache/derby/optional/api/LuceneUtils.java
M tools/javadoc/publishedapi.ant
Support for the new interface in the public api.
--------------------
M java/optional/org/apache/derby/optional/lucene/LuceneQueryVTI.java
M java/optional/org/apache/derby/optional/lucene/LuceneSupport.java
M java/optional/org/apache/derby/optional/lucene/LuceneListIndexesVTI.java
Signature changes. Support for multi-field queries.
--------------------
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/myLuceneClasses.jar
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneCoarseAuthorizationTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneBackupTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneSupportPermsTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneInMemoryTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneSupportTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneCollationTest.java
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneJarLoadingTest.java
Adjusted tests to handle the new api. Added Knut's multi-field test case.
> How to integrate Derby with Lucene API?
> ---------------------------------------
>
> Key: DERBY-590
> URL: https://issues.apache.org/jira/browse/DERBY-590
> Project: Derby
> Issue Type: Improvement
> Components: Documentation, SQL
> Reporter: Abhijeet Mahesh
> Labels: derby_triage10_11
> Attachments: LucenePlugin.html, LucenePlugin.html, LucenePlugin.html,
> derby-590-01-ag-publicAccessToLuceneRoutines.diff,
> derby-590-01-ah-publicAccessToLuceneRoutines.diff,
> derby-590-01-am-publicAccessToLuceneRoutines.diff,
> derby-590-02-aa-cleanupFindbugsErrors.diff,
> derby-590-03-aa-removeTestingDiagnostic.diff,
> derby-590-04-aa-removeIDFromListIndexes.diff,
> derby-590-05-aa-accessDeclaredMembers.diff,
> derby-590-06-aa-suppressAccessChecks.diff,
> derby-590-07-aa-accessClassInPackage.sun.misc.diff,
> derby-590-08-aa-omitLuceneFlag.diff,
> derby-590-09-aa-localeSensitiveAnalysis.diff,
> derby-590-10-aa-fixLocaleTest.diff, derby-590-11-aa-moveCode.diff,
> derby-590-12-aa-newJar.diff, derby-590-13-aa-indexViews.diff,
> derby-590-14-aa-coarseGrainedAuthorization.diff,
> derby-590-15-aa-requireHardUpgrade.diff,
> derby-590-16-aa-adjustUpgradeTest.diff,
> derby-590-17-aa-closeInputStreamOnPropertiesFile.diff,
> derby-590-18-aa-cleanupAPI.diff, derby-590-19-aa-cleanupAPI2.diff,
> derby-590-20-aa-customQueryParser.diff, derby-590-21-aa-noTimeTravel.diff,
> derby-590-22-aa-cleanupPrivacy.diff, derby-590-23-aa-correctTestLocale.diff,
> derby-590-24-ad-luceneDirectory.diff, derby-590-26-ac-backupRestore.diff,
> derby-590-26-ad-backupRestoreEncryption.diff,
> derby-590-27-aa-publicAPILuceneUtils.diff,
> derby-590-28-renameLuceneJars.diff, derby-590-29-aa-useLucene_4.7.1.diff,
> derby-590-30-aa-nullableScoreCeiling.diff, derby-590-31-aa-multiField.diff,
> exceptions.diff, lucene_demo.diff, lucene_demo_2.diff,
> multifield-with-custom-tokenizers.diff, multifield.diff, netbeans.diff,
> netbeans2.diff
>
>
> In order to use derby with lucene API what should be the steps to be taken?
--
This message was sent by Atlassian JIRA
(v6.2#6252)