diff -up sword-1.6.2/configure.clucene2 sword-1.6.2/configure --- sword-1.6.2/configure.clucene2 2010-10-22 23:14:28.000000000 +0200 +++ sword-1.6.2/configure 2011-10-02 21:27:35.420704861 +0200 @@ -16348,9 +16348,9 @@ for flag in $with_clucene; do if test -z "$clucene_set_failed"; then if test -e "$flag/include/CLucene.h"; then # 64-bit checks first - if test -e "$flag/lib64/libclucene.la" || test -e "$flag/lib64/libclucene.so"; then + if test -e "$flag/lib64/libclucene-core.la" || test -e "$flag/lib64/libclucene-core.so"; then clucene_set_failed=$flag - CLUCENE_LIBS="-L$flag/lib64 -lclucene" + CLUCENE_LIBS="-L$flag/lib64 -lclucene-core" if test -e "$flag/include/CLucene/clucene-config.h"; then CLUCENE_CXXFLAGS="-I$flag/include" else @@ -16358,9 +16358,9 @@ for flag in $with_clucene; do fi else # 32-bit checks - if test -e "$flag/lib/libclucene.la" || test -e "$flag/lib/libclucene.so"; then + if test -e "$flag/lib/libclucene-core.la" || test -e "$flag/lib/libclucene-core.so"; then clucene_set_failed=$flag - CLUCENE_LIBS="-L$flag/lib -lclucene" + CLUCENE_LIBS="-L$flag/lib -lclucene-core" if test -e "$flag/include/CLucene/clucene-config.h"; then CLUCENE_CXXFLAGS="-I$flag/include" else diff -up sword-1.6.2/m4/acx_clucene.m4.clucene2 sword-1.6.2/m4/acx_clucene.m4 --- sword-1.6.2/m4/acx_clucene.m4.clucene2 2007-05-19 23:28:23.000000000 +0200 +++ sword-1.6.2/m4/acx_clucene.m4 2011-10-02 21:27:35.420704861 +0200 @@ -29,9 +29,9 @@ for flag in $with_clucene; do if test -z "$clucene_set_failed"; then if test -e "$flag/include/CLucene.h"; then # 64-bit checks first - if test -e "$flag/lib64/libclucene.la" || test -e "$flag/lib64/libclucene.so"; then + if test -e "$flag/lib64/libclucene-core.la" || test -e "$flag/lib64/libclucene-core.so"; then clucene_set_failed=$flag - CLUCENE_LIBS="-L$flag/lib64 -lclucene" + CLUCENE_LIBS="-L$flag/lib64 -lclucene-core" if test -e "$flag/include/CLucene/clucene-config.h"; then CLUCENE_CXXFLAGS="-I$flag/include" else @@ -39,9 +39,9 @@ for flag in $with_clucene; do fi else # 32-bit checks - if test -e "$flag/lib/libclucene.la" || test -e "$flag/lib/libclucene.so"; then + if test -e "$flag/lib/libclucene-core.la" || test -e "$flag/lib/libclucene-core.so"; then clucene_set_failed=$flag - CLUCENE_LIBS="-L$flag/lib -lclucene" + CLUCENE_LIBS="-L$flag/lib -lclucene-core" if test -e "$flag/include/CLucene/clucene-config.h"; then CLUCENE_CXXFLAGS="-I$flag/include" else diff -up sword-1.6.2/src/modules/swmodule.cpp.clucene2 sword-1.6.2/src/modules/swmodule.cpp --- sword-1.6.2/src/modules/swmodule.cpp.clucene2 2011-10-02 21:32:40.825795281 +0200 +++ sword-1.6.2/src/modules/swmodule.cpp 2011-10-02 22:02:42.441506634 +0200 @@ -40,7 +40,7 @@ #ifdef USELUCENE #include -#include +//#include //Lucence includes //#include "CLucene.h" @@ -59,6 +59,9 @@ using namespace lucene::search; using std::vector; +extern size_t lucene_utf8towcs(wchar_t *, const char *, size_t maxslen); +extern size_t lucene_wcstoutf8 (char *, const wchar_t *, size_t maxslen); + SWORD_NAMESPACE_START SWDisplay SWModule::rawdisp; @@ -1144,7 +1147,7 @@ signed char SWModule::createSearchFramew lucene_utf8towcs(wcharBuffer, keyText, MAX_CONV_SIZE); //keyText must be utf8 // doc->add( *(new Field("key", wcharBuffer, Field::STORE_YES | Field::INDEX_TOKENIZED))); - doc->add( *Field::Text(_T("key"), wcharBuffer ) ); + doc->add(*_CLNEW Field(_T("key"), wcharBuffer, Field::STORE_YES | Field::INDEX_TOKENIZED) ); if (includeKeyInSearch) { @@ -1155,11 +1158,11 @@ signed char SWModule::createSearchFramew } lucene_utf8towcs(wcharBuffer, content, MAX_CONV_SIZE); //content must be utf8 - doc->add( *Field::UnStored(_T("content"), wcharBuffer) ); + doc->add(*_CLNEW Field(_T("content"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED)); if (strong.length() > 0) { lucene_utf8towcs(wcharBuffer, strong, MAX_CONV_SIZE); - doc->add( *Field::UnStored(_T("lemma"), wcharBuffer) ); + doc->add(*_CLNEW Field(_T("lemma"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED) ); //printf("setting fields (%s).\ncontent: %s\nlemma: %s\n", (const char *)*key, content, strong.c_str()); } @@ -1280,12 +1283,12 @@ signed char SWModule::createSearchFramew //printf("proxBuf after (%s).\nprox: %s\nproxLem: %s\n", (const char *)*key, proxBuf.c_str(), proxLem.c_str()); - doc->add( *Field::UnStored(_T("prox"), wcharBuffer) ); + doc->add(*_CLNEW Field(_T("prox"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED) ); good = true; } if (proxLem.length() > 0) { lucene_utf8towcs(wcharBuffer, proxLem, MAX_CONV_SIZE); //keyText must be utf8 - doc->add( *Field::UnStored(_T("proxlem"), wcharBuffer) ); + doc->add(*_CLNEW Field(_T("proxlem"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED) ); good = true; } if (good) { @@ -1315,7 +1318,9 @@ signed char SWModule::createSearchFramew fsWriter = new IndexWriter(d, an, true); } - Directory *dirs[] = { ramDir, 0 }; + ValueArray dirs(2); + dirs[0] = ramDir; + dirs[1] = 0; fsWriter->addIndexes(dirs); fsWriter->close();