mirror of https://github.com/kiwix/libkiwix.git
Library::updateBookDB() uses Book::getLanguages()
This commit is contained in:
parent
b1ad319d52
commit
51fcb90dc0
|
@ -455,12 +455,14 @@ void Library::updateBookDB(const Book& book)
|
||||||
{
|
{
|
||||||
Xapian::Stem stemmer;
|
Xapian::Stem stemmer;
|
||||||
Xapian::TermGenerator indexer;
|
Xapian::TermGenerator indexer;
|
||||||
const std::string lang = book.getLanguage();
|
const auto langs = book.getLanguages();
|
||||||
|
if ( langs.size() == 1 ) {
|
||||||
try {
|
try {
|
||||||
stemmer = Xapian::Stem(iso639_3ToXapian(lang));
|
stemmer = Xapian::Stem(iso639_3ToXapian(langs[0]));
|
||||||
indexer.set_stemmer(stemmer);
|
indexer.set_stemmer(stemmer);
|
||||||
indexer.set_stemming_strategy(Xapian::TermGenerator::STEM_SOME);
|
indexer.set_stemming_strategy(Xapian::TermGenerator::STEM_SOME);
|
||||||
} catch (...) {}
|
} catch (...) {}
|
||||||
|
}
|
||||||
Xapian::Document doc;
|
Xapian::Document doc;
|
||||||
indexer.set_document(doc);
|
indexer.set_document(doc);
|
||||||
|
|
||||||
|
@ -475,7 +477,9 @@ void Library::updateBookDB(const Book& book)
|
||||||
// Index all fields for field-based search
|
// Index all fields for field-based search
|
||||||
indexer.index_text(title, 1, "S");
|
indexer.index_text(title, 1, "S");
|
||||||
indexer.index_text(desc, 1, "XD");
|
indexer.index_text(desc, 1, "XD");
|
||||||
|
for ( const auto& lang : langs ) {
|
||||||
indexer.index_text(lang, 1, "L");
|
indexer.index_text(lang, 1, "L");
|
||||||
|
}
|
||||||
indexer.index_text(normalizeText(book.getCreator()), 1, "A");
|
indexer.index_text(normalizeText(book.getCreator()), 1, "A");
|
||||||
indexer.index_text(normalizeText(book.getPublisher()), 1, "XP");
|
indexer.index_text(normalizeText(book.getPublisher()), 1, "XP");
|
||||||
indexer.index_text(normalizeText(book.getName()), 1, "XN");
|
indexer.index_text(normalizeText(book.getName()), 1, "XN");
|
||||||
|
|
Loading…
Reference in New Issue