You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
351 lines
15 KiB
351 lines
15 KiB
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-10-26 03:33:45.000000000 +0100 |
|
@@ -1,125 +1,7 @@ |
|
-DEFINES += _BUILD_FOR_QT_ LUCENE_DISABLE_MEMTRACKING |
|
-win32:DEFINES += _CRT_SECURE_NO_DEPRECATE _MT |
|
- |
|
-CLUCENEDIR = ../../../../src/3rdparty/clucene/src/CLucene |
|
- |
|
-INCLUDEPATH += . .. \ |
|
- $$CLUCENEDIR \ |
|
- $$CLUCENEDIR/../ \ |
|
- $$CLUCENEDIR/analysis \ |
|
- $$CLUCENEDIR/analysis/standard \ |
|
- $$CLUCENEDIR/config \ |
|
- $$CLUCENEDIR/debug \ |
|
- $$CLUCENEDIR/document \ |
|
- $$CLUCENEDIR/index \ |
|
- $$CLUCENEDIR/queryParser \ |
|
- $$CLUCENEDIR/search \ |
|
- $$CLUCENEDIR/store \ |
|
- $$CLUCENEDIR/util |
|
- |
|
- |
|
-SOURCES += $$CLUCENEDIR/StdHeader.cpp \ |
|
- $$CLUCENEDIR/analysis/AnalysisHeader.cpp \ |
|
- $$CLUCENEDIR/analysis/Analyzers.cpp \ |
|
- $$CLUCENEDIR/config/gunichartables.cpp \ |
|
- $$CLUCENEDIR/config/repl_lltot.cpp \ |
|
- $$CLUCENEDIR/config/repl_tcscasecmp.cpp \ |
|
- $$CLUCENEDIR/config/repl_tcslwr.cpp \ |
|
- $$CLUCENEDIR/config/repl_tcstod.cpp \ |
|
- $$CLUCENEDIR/config/repl_tcstoll.cpp \ |
|
- $$CLUCENEDIR/config/repl_tprintf.cpp \ |
|
- $$CLUCENEDIR/config/threads.cpp \ |
|
- $$CLUCENEDIR/config/utf8.cpp \ |
|
- $$CLUCENEDIR/debug/condition.cpp \ |
|
- $$CLUCENEDIR/debug/error.cpp \ |
|
- $$CLUCENEDIR/debug/memtracking.cpp \ |
|
- $$CLUCENEDIR/document/DateField.cpp \ |
|
- $$CLUCENEDIR/document/Document.cpp \ |
|
- $$CLUCENEDIR/document/Field.cpp \ |
|
- $$CLUCENEDIR/index/CompoundFile.cpp \ |
|
- $$CLUCENEDIR/index/DocumentWriter.cpp \ |
|
- $$CLUCENEDIR/index/FieldInfos.cpp \ |
|
- $$CLUCENEDIR/index/FieldsReader.cpp \ |
|
- $$CLUCENEDIR/index/FieldsWriter.cpp \ |
|
- $$CLUCENEDIR/index/IndexModifier.cpp \ |
|
- $$CLUCENEDIR/index/IndexReader.cpp \ |
|
- $$CLUCENEDIR/index/IndexWriter.cpp \ |
|
- $$CLUCENEDIR/index/MultiReader.cpp \ |
|
- $$CLUCENEDIR/index/SegmentInfos.cpp \ |
|
- $$CLUCENEDIR/index/SegmentMergeInfo.cpp \ |
|
- $$CLUCENEDIR/index/SegmentMergeQueue.cpp \ |
|
- $$CLUCENEDIR/index/SegmentMerger.cpp \ |
|
- $$CLUCENEDIR/index/SegmentReader.cpp \ |
|
- $$CLUCENEDIR/index/SegmentTermDocs.cpp \ |
|
- $$CLUCENEDIR/index/SegmentTermEnum.cpp \ |
|
- $$CLUCENEDIR/index/SegmentTermPositions.cpp \ |
|
- $$CLUCENEDIR/index/SegmentTermVector.cpp \ |
|
- $$CLUCENEDIR/index/Term.cpp \ |
|
- $$CLUCENEDIR/index/TermInfo.cpp \ |
|
- $$CLUCENEDIR/index/TermInfosReader.cpp \ |
|
- $$CLUCENEDIR/index/TermInfosWriter.cpp \ |
|
- $$CLUCENEDIR/index/TermVectorReader.cpp \ |
|
- $$CLUCENEDIR/index/TermVectorWriter.cpp \ |
|
- $$CLUCENEDIR/queryParser/Lexer.cpp \ |
|
- $$CLUCENEDIR/queryParser/MultiFieldQueryParser.cpp \ |
|
- $$CLUCENEDIR/queryParser/QueryParser.cpp \ |
|
- $$CLUCENEDIR/queryParser/QueryParserBase.cpp \ |
|
- $$CLUCENEDIR/queryParser/QueryToken.cpp \ |
|
- $$CLUCENEDIR/queryParser/TokenList.cpp \ |
|
- $$CLUCENEDIR/search/BooleanQuery.cpp \ |
|
- $$CLUCENEDIR/search/BooleanScorer.cpp \ |
|
- $$CLUCENEDIR/search/CachingWrapperFilter.cpp \ |
|
- $$CLUCENEDIR/search/ChainedFilter.cpp \ |
|
- $$CLUCENEDIR/search/ConjunctionScorer.cpp \ |
|
- $$CLUCENEDIR/search/DateFilter.cpp \ |
|
- $$CLUCENEDIR/search/ExactPhraseScorer.cpp \ |
|
- $$CLUCENEDIR/search/Explanation.cpp \ |
|
- $$CLUCENEDIR/search/FieldCache.cpp \ |
|
- $$CLUCENEDIR/search/FieldCacheImpl.cpp \ |
|
- $$CLUCENEDIR/search/FieldDocSortedHitQueue.cpp \ |
|
- $$CLUCENEDIR/search/FieldSortedHitQueue.cpp \ |
|
- $$CLUCENEDIR/search/FilteredTermEnum.cpp \ |
|
- $$CLUCENEDIR/search/FuzzyQuery.cpp \ |
|
- $$CLUCENEDIR/search/HitQueue.cpp \ |
|
- $$CLUCENEDIR/search/Hits.cpp \ |
|
- $$CLUCENEDIR/search/IndexSearcher.cpp \ |
|
- $$CLUCENEDIR/search/MultiSearcher.cpp \ |
|
- $$CLUCENEDIR/search/MultiTermQuery.cpp \ |
|
- $$CLUCENEDIR/search/PhrasePositions.cpp \ |
|
- $$CLUCENEDIR/search/PhraseQuery.cpp \ |
|
- $$CLUCENEDIR/search/PhraseScorer.cpp \ |
|
- $$CLUCENEDIR/search/PrefixQuery.cpp \ |
|
- $$CLUCENEDIR/search/QueryFilter.cpp \ |
|
- $$CLUCENEDIR/search/RangeFilter.cpp \ |
|
- $$CLUCENEDIR/search/RangeQuery.cpp \ |
|
- $$CLUCENEDIR/search/SearchHeader.cpp \ |
|
- $$CLUCENEDIR/search/Similarity.cpp \ |
|
- $$CLUCENEDIR/search/SloppyPhraseScorer.cpp \ |
|
- $$CLUCENEDIR/search/Sort.cpp \ |
|
- $$CLUCENEDIR/search/TermQuery.cpp \ |
|
- $$CLUCENEDIR/search/TermScorer.cpp \ |
|
- $$CLUCENEDIR/search/WildcardQuery.cpp \ |
|
- $$CLUCENEDIR/search/WildcardTermEnum.cpp \ |
|
- $$CLUCENEDIR/store/FSDirectory.cpp \ |
|
- $$CLUCENEDIR/store/IndexInput.cpp \ |
|
- $$CLUCENEDIR/store/IndexOutput.cpp \ |
|
- $$CLUCENEDIR/store/Lock.cpp \ |
|
- $$CLUCENEDIR/store/MMapInput.cpp \ |
|
- $$CLUCENEDIR/store/RAMDirectory.cpp \ |
|
- $$CLUCENEDIR/store/TransactionalRAMDirectory.cpp \ |
|
- $$CLUCENEDIR/util/BitSet.cpp \ |
|
- $$CLUCENEDIR/util/Equators.cpp \ |
|
- $$CLUCENEDIR/util/FastCharStream.cpp \ |
|
- $$CLUCENEDIR/util/fileinputstream.cpp \ |
|
- $$CLUCENEDIR/util/Misc.cpp \ |
|
- $$CLUCENEDIR/util/Reader.cpp \ |
|
- $$CLUCENEDIR/util/StringBuffer.cpp \ |
|
- $$CLUCENEDIR/util/StringIntern.cpp \ |
|
- $$CLUCENEDIR/util/ThreadLocal.cpp \ |
|
- $$CLUCENEDIR/analysis/standard/StandardAnalyzer.cpp \ |
|
- $$CLUCENEDIR/analysis/standard/StandardFilter.cpp \ |
|
- $$CLUCENEDIR/analysis/standard/StandardTokenizer.cpp |
|
|
|
+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS] |
|
+LIBS += -L$$[QT_INSTALL_LIBS]/clucene09 -lclucene |
|
+#DEFINES += LUCENE_ENABLE_REFCOUNT (must be set at CLucene build time!) |
|
|
|
#Header files |
|
HEADERS += qclucene_global_p.h \ |
|
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-10-26 02:28:54.000000000 +0100 |
|
@@ -15,6 +15,8 @@ |
|
** |
|
****************************************************************************/ |
|
|
|
+#error This header must not be included when building against system CLucene. |
|
+ |
|
#ifndef QCLUCENE_CONFIG_P_H |
|
#define QCLUCENE_CONFIG_P_H |
|
|
|
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-10-26 02:31:54.000000000 +0100 |
|
@@ -29,20 +29,10 @@ |
|
// We mean it. |
|
// |
|
|
|
-#if !defined(_MSC_VER) |
|
-# include "qclucene-config_p.h" |
|
-#endif |
|
- |
|
#include <QtCore/QChar> |
|
#include <QtCore/QString> |
|
|
|
-#if !defined(_MSC_VER) && !defined(__MINGW32__) && defined(_CL_HAVE_WCHAR_H) && defined(_CL_HAVE_WCHAR_T) |
|
-# if !defined(TCHAR) |
|
-# define TCHAR wchar_t |
|
-# endif |
|
-#else |
|
-# include <windows.h> |
|
-#endif |
|
+#include <CLucene/StdHeader.h> |
|
|
|
QT_BEGIN_HEADER |
|
|
|
@@ -56,52 +46,6 @@ |
|
# define QHELP_EXPORT Q_DECL_IMPORT |
|
#endif |
|
|
|
-// |
|
-// W A R N I N G |
|
-// ------------- |
|
-// |
|
-// adjustments here, need to be done in |
|
-// QTDIR/src/3rdparty/clucene/src/CLucene/StdHeader.h as well |
|
-// |
|
-#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS) |
|
- |
|
-#elif !defined(DISABLE_NAMESPACE) |
|
-# ifdef QT_NAMESPACE |
|
-# define CL_NS_DEF(sub) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ |
|
-# define CL_NS_DEF2(sub,sub2) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ namespace sub2 { |
|
- |
|
-# define CL_NS_END }}} |
|
-# define CL_NS_END2 }}}} |
|
- |
|
-# define CL_NS_USE(sub) using namespace QT_NAMESPACE::lucene::sub; |
|
-# define CL_NS_USE2(sub,sub2) using namespace QT_NAMESPACE::lucene::sub::sub2; |
|
- |
|
-# define CL_NS(sub) QT_NAMESPACE::lucene::sub |
|
-# define CL_NS2(sub,sub2) QT_NAMESPACE::lucene::sub::sub2 |
|
-# else |
|
-# define CL_NS_DEF(sub) namespace lucene{ namespace sub{ |
|
-# define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 { |
|
- |
|
-# define CL_NS_END }} |
|
-# define CL_NS_END2 }}} |
|
- |
|
-# define CL_NS_USE(sub) using namespace lucene::sub; |
|
-# define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2; |
|
- |
|
-# define CL_NS(sub) lucene::sub |
|
-# define CL_NS2(sub,sub2) lucene::sub::sub2 |
|
-# endif |
|
-#else |
|
-# define CL_NS_DEF(sub) |
|
-# define CL_NS_DEF2(sub, sub2) |
|
-# define CL_NS_END |
|
-# define CL_NS_END2 |
|
-# define CL_NS_USE(sub) |
|
-# define CL_NS_USE2(sub,sub2) |
|
-# define CL_NS(sub) |
|
-# define CL_NS2(sub,sub2) |
|
-#endif |
|
- |
|
namespace { |
|
TCHAR* QStringToTChar(const QString &str) |
|
{ |
|
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-10-26 02:48:02.000000000 +0100 |
|
@@ -18,6 +18,8 @@ |
|
#include "qindexreader_p.h" |
|
#include "qclucene_global_p.h" |
|
|
|
+#include <QtCore/QDir> |
|
+ |
|
#include <CLucene.h> |
|
#include <CLucene/index/IndexReader.h> |
|
|
|
@@ -59,13 +61,13 @@ |
|
{ |
|
using namespace lucene::index; |
|
|
|
- return IndexReader::isLuceneFile(filename); |
|
+ return IndexReader::isLuceneFile(filename.toLocal8Bit().constData()); |
|
} |
|
|
|
bool QCLuceneIndexReader::indexExists(const QString &directory) |
|
{ |
|
using namespace lucene::index; |
|
- return IndexReader::indexExists(directory); |
|
+ return IndexReader::indexExists(directory.toLocal8Bit().constData()); |
|
} |
|
|
|
QCLuceneIndexReader QCLuceneIndexReader::open(const QString &path) |
|
@@ -73,7 +75,7 @@ |
|
using namespace lucene::index; |
|
|
|
QCLuceneIndexReader indexReader; |
|
- indexReader.d->reader = IndexReader::open(path); |
|
+ indexReader.d->reader = IndexReader::open(path.toLocal8Bit().constData()); |
|
|
|
return indexReader; |
|
} |
|
@@ -81,25 +83,29 @@ |
|
void QCLuceneIndexReader::unlock(const QString &path) |
|
{ |
|
using namespace lucene::index; |
|
- IndexReader::unlock(path); |
|
+ IndexReader::unlock(path.toLocal8Bit().constData()); |
|
} |
|
|
|
bool QCLuceneIndexReader::isLocked(const QString &directory) |
|
{ |
|
+ // The system CLucene fails here if the directory does not exist yet, unlike |
|
+ // the bundled one. Work around that. |
|
+ QDir::current().mkpath(directory); |
|
+ |
|
using namespace lucene::index; |
|
- return IndexReader::isLocked(directory); |
|
+ return IndexReader::isLocked(directory.toLocal8Bit().constData()); |
|
} |
|
|
|
quint64 QCLuceneIndexReader::lastModified(const QString &directory) |
|
{ |
|
using namespace lucene::index; |
|
- return quint64(IndexReader::lastModified(directory)); |
|
+ return quint64(IndexReader::lastModified(directory.toLocal8Bit().constData())); |
|
} |
|
|
|
qint64 QCLuceneIndexReader::getCurrentVersion(const QString &directory) |
|
{ |
|
using namespace lucene::index; |
|
- return qint64(IndexReader::getCurrentVersion(directory)); |
|
+ return qint64(IndexReader::getCurrentVersion(directory.toLocal8Bit().constData())); |
|
} |
|
|
|
void QCLuceneIndexReader::close() |
|
@@ -155,7 +161,7 @@ |
|
void QCLuceneIndexReader::setNorm(qint32 doc, const QString &field, qreal value) |
|
{ |
|
TCHAR *fieldName = QStringToTChar(field); |
|
- d->reader->setNorm(int32_t(doc), fieldName, qreal(value)); |
|
+ d->reader->setNorm(int32_t(doc), fieldName, (float_t)value); |
|
delete [] fieldName; |
|
} |
|
|
|
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-10-26 02:48:27.000000000 +0100 |
|
@@ -18,6 +18,8 @@ |
|
#include "qindexwriter_p.h" |
|
#include "qindexreader_p.h" |
|
|
|
+#include <QtCore/QDir> |
|
+ |
|
#include <CLucene.h> |
|
#include <CLucene/index/IndexWriter.h> |
|
|
|
@@ -50,7 +52,12 @@ |
|
: d(new QCLuceneIndexWriterPrivate()) |
|
, analyzer(analyzer) |
|
{ |
|
- d->writer = new lucene::index::IndexWriter(path, |
|
+ // The system CLucene cannot create directories recursively, so do it here. |
|
+ // Ignore failure: If it failed, we will get an error from CLucene anyway. |
|
+ if (create) |
|
+ QDir::current().mkpath(path); |
|
+ |
|
+ d->writer = new lucene::index::IndexWriter(path.toLocal8Bit().constData(), |
|
analyzer.d->analyzer, create, closeDir); |
|
} |
|
|
|
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-10-26 02:48:44.000000000 +0100 |
|
@@ -95,7 +95,7 @@ |
|
: QCLuceneSearcher() |
|
{ |
|
lucene::search::IndexSearcher *searcher = |
|
- new lucene::search::IndexSearcher(path); |
|
+ new lucene::search::IndexSearcher(path.toLocal8Bit().constData()); |
|
|
|
reader.d->reader = searcher->getReader(); |
|
reader.d->deleteCLuceneIndexReader = false; |
|
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro |
|
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro 2014-04-10 20:37:12.000000000 +0200 |
|
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro 2014-10-26 02:27:55.000000000 +0100 |
|
@@ -43,6 +43,7 @@ |
|
qhelp_global.cpp |
|
|
|
# access to clucene |
|
+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS] |
|
SOURCES += qhelpsearchindexwriter_clucene.cpp \ |
|
qhelpsearchindexreader_clucene.cpp |
|
HEADERS += qhelpenginecore.h \
|
|
|