From 213906873776ab975f483c32a13662de3f142b23 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 16 Mar 2011 15:53:47 +0100 Subject: [PATCH] * Search / Store lucene strings after calling sortname() on them. --- src/libtomahawk/database/databaseimpl.h | 2 +- src/libtomahawk/database/fuzzyindex.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/database/databaseimpl.h b/src/libtomahawk/database/databaseimpl.h index 4f00ad5de..b40ee4cf6 100644 --- a/src/libtomahawk/database/databaseimpl.h +++ b/src/libtomahawk/database/databaseimpl.h @@ -63,7 +63,7 @@ public: signals: void indexReady(); -public slots: +public slots: private: bool updateSchema( int currentver ); diff --git a/src/libtomahawk/database/fuzzyindex.cpp b/src/libtomahawk/database/fuzzyindex.cpp index f6da39b68..710848b45 100644 --- a/src/libtomahawk/database/fuzzyindex.cpp +++ b/src/libtomahawk/database/fuzzyindex.cpp @@ -99,7 +99,7 @@ FuzzyIndex::appendFields( const QString& table, const QMap< unsigned int, QStrin QString name = it.value(); { - Field* field = _CLNEW Field( table.toStdWString().c_str(), name.toStdWString().c_str(), + Field* field = _CLNEW Field( table.toStdWString().c_str(), DatabaseImpl::sortname( name ).toStdWString().c_str(), Field::STORE_YES | Field::INDEX_UNTOKENIZED ); doc.add( *field ); } @@ -158,7 +158,7 @@ FuzzyIndex::search( const QString& table, const QString& name ) QueryParser parser( table.toStdWString().c_str(), m_analyzer ); Hits* hits = 0; - FuzzyQuery* qry = _CLNEW FuzzyQuery( _CLNEW Term( table.toStdWString().c_str(), name.toStdWString().c_str() ) ); + FuzzyQuery* qry = _CLNEW FuzzyQuery( _CLNEW Term( table.toStdWString().c_str(), DatabaseImpl::sortname( name ).toStdWString().c_str() ) ); hits = m_luceneSearcher->search( qry ); for ( int i = 0; i < hits->length(); i++ ) @@ -169,7 +169,7 @@ FuzzyIndex::search( const QString& table, const QString& name ) int id = QString::fromWCharArray( d->get( _T( "id" ) ) ).toInt(); QString result = QString::fromWCharArray( d->get( table.toStdWString().c_str() ) ); - if ( result.toLower() == name.toLower() ) + if ( DatabaseImpl::sortname( result ) == DatabaseImpl::sortname( name ) ) score = 1.0; else score = qMin( score, (float)0.99 );