mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-21 16:29:43 +01:00
* Store lucene fields as INDEX_ANALYZED_NO_NORMS.
This commit is contained in:
parent
3ad91db46a
commit
d8954ce923
@ -135,13 +135,13 @@ FuzzyIndex::appendFields( const Tomahawk::IndexData& data )
|
||||
if ( !data.track.isEmpty() )
|
||||
{
|
||||
doc->add(newLucene<Field>( L"fulltext", Tomahawk::DatabaseImpl::sortname( QString( "%1 %2" ).arg( data.artist ).arg( data.track ) ).toStdWString(),
|
||||
Field::STORE_NO, Field::INDEX_NOT_ANALYZED ) );
|
||||
Field::STORE_NO, Field::INDEX_ANALYZED_NO_NORMS ) );
|
||||
|
||||
doc->add(newLucene<Field>( L"track", Tomahawk::DatabaseImpl::sortname( data.track ).toStdWString(),
|
||||
Field::STORE_NO, Field::INDEX_NOT_ANALYZED ) );
|
||||
Field::STORE_NO, Field::INDEX_ANALYZED_NO_NORMS ) );
|
||||
|
||||
doc->add(newLucene<Field>( L"artist", Tomahawk::DatabaseImpl::sortname( data.artist ).toStdWString(),
|
||||
Field::STORE_NO, Field::INDEX_NOT_ANALYZED ) );
|
||||
Field::STORE_NO, Field::INDEX_ANALYZED_NO_NORMS ) );
|
||||
|
||||
doc->add(newLucene<Field>( L"artistid", QString::number( data.artistId ).toStdWString(),
|
||||
Field::STORE_YES, Field::INDEX_NO ) );
|
||||
@ -152,7 +152,7 @@ FuzzyIndex::appendFields( const Tomahawk::IndexData& data )
|
||||
else if ( !data.album.isEmpty() )
|
||||
{
|
||||
doc->add(newLucene<Field>( L"album", Tomahawk::DatabaseImpl::sortname( data.album ).toStdWString(),
|
||||
Field::STORE_NO, Field::INDEX_NOT_ANALYZED ) );
|
||||
Field::STORE_NO, Field::INDEX_ANALYZED_NO_NORMS ) );
|
||||
|
||||
doc->add(newLucene<Field>( L"albumid", QString::number( data.id ).toStdWString(),
|
||||
Field::STORE_YES, Field::INDEX_NO ) );
|
||||
@ -219,7 +219,7 @@ FuzzyIndex::search( const Tomahawk::query_ptr& query )
|
||||
|
||||
if ( query->isFullTextQuery() )
|
||||
{
|
||||
QString q = Tomahawk::DatabaseImpl::sortname( query->fullTextQuery() );
|
||||
const QString q = Tomahawk::DatabaseImpl::sortname( query->fullTextQuery() );
|
||||
|
||||
FuzzyQueryPtr fqry = newLucene<FuzzyQuery>( newLucene<Term>( L"track", q.toStdWString() ) );
|
||||
qry->add( boost::dynamic_pointer_cast<Query>( fqry ), BooleanClause::SHOULD );
|
||||
@ -234,8 +234,8 @@ FuzzyIndex::search( const Tomahawk::query_ptr& query )
|
||||
}
|
||||
else
|
||||
{
|
||||
QString track = Tomahawk::DatabaseImpl::sortname( query->queryTrack()->track() );
|
||||
QString artist = Tomahawk::DatabaseImpl::sortname( query->queryTrack()->artist() );
|
||||
const QString track = Tomahawk::DatabaseImpl::sortname( query->queryTrack()->track() );
|
||||
const QString artist = Tomahawk::DatabaseImpl::sortname( query->queryTrack()->artist() );
|
||||
//QString album = Tomahawk::DatabaseImpl::sortname( query->queryTrack()->album() );
|
||||
|
||||
FuzzyQueryPtr fqry = newLucene<FuzzyQuery>( newLucene<Term>( L"track", track.toStdWString() ) );
|
||||
@ -247,11 +247,11 @@ FuzzyIndex::search( const Tomahawk::query_ptr& query )
|
||||
minScore = 0.00;
|
||||
}
|
||||
|
||||
TopScoreDocCollectorPtr collector = TopScoreDocCollector::create( 50, false );
|
||||
TopScoreDocCollectorPtr collector = TopScoreDocCollector::create( 20, true );
|
||||
m_luceneSearcher->search( qry, collector );
|
||||
Collection<ScoreDocPtr> hits = collector->topDocs()->scoreDocs;
|
||||
|
||||
for ( int i = 0; i < collector->getTotalHits() && i < 50; i++ )
|
||||
for ( int i = 0; i < collector->getTotalHits() && i < 20; i++ )
|
||||
{
|
||||
DocumentPtr d = m_luceneSearcher->doc( hits[i]->doc );
|
||||
float score = hits[i]->score;
|
||||
|
Loading…
x
Reference in New Issue
Block a user