mirror of https://github.com/kiwix/libkiwix.git
+ better "verbose" mode
This commit is contained in:
parent
67211be8ad
commit
6067fab7f3
|
@ -36,7 +36,8 @@ namespace kiwix {
|
||||||
|
|
||||||
/* Constructor */
|
/* Constructor */
|
||||||
Indexer::Indexer() :
|
Indexer::Indexer() :
|
||||||
keywordsBoostFactor(3) {
|
keywordsBoostFactor(3),
|
||||||
|
verboseFlag(false) {
|
||||||
|
|
||||||
/* Initialize mutex */
|
/* Initialize mutex */
|
||||||
pthread_mutex_init(&threadIdsMutex, NULL);
|
pthread_mutex_init(&threadIdsMutex, NULL);
|
||||||
|
@ -49,6 +50,7 @@ namespace kiwix {
|
||||||
pthread_mutex_init(&zimPathMutex, NULL);
|
pthread_mutex_init(&zimPathMutex, NULL);
|
||||||
pthread_mutex_init(&indexPathMutex, NULL);
|
pthread_mutex_init(&indexPathMutex, NULL);
|
||||||
pthread_mutex_init(&progressionMutex, NULL);
|
pthread_mutex_init(&progressionMutex, NULL);
|
||||||
|
pthread_mutex_init(&verboseMutex, NULL);
|
||||||
|
|
||||||
/* Read the stopwords file */
|
/* Read the stopwords file */
|
||||||
//this->readStopWordsFile("/home/kelson/kiwix/moulinkiwix/stopwords/fr");
|
//this->readStopWordsFile("/home/kelson/kiwix/moulinkiwix/stopwords/fr");
|
||||||
|
@ -284,6 +286,10 @@ namespace kiwix {
|
||||||
#else
|
#else
|
||||||
sleep(0.5);
|
sleep(0.5);
|
||||||
#endif
|
#endif
|
||||||
|
if (this->getVerboseFlag()) {
|
||||||
|
std::cout << "Waiting... ToParseQueue is empty for now..." << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
pthread_testcancel();
|
pthread_testcancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,6 +331,10 @@ namespace kiwix {
|
||||||
#else
|
#else
|
||||||
sleep(0.5);
|
sleep(0.5);
|
||||||
#endif
|
#endif
|
||||||
|
if (this->getVerboseFlag()) {
|
||||||
|
std::cout << "Waiting... ToIndexQueue is empty for now..." << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
pthread_testcancel();
|
pthread_testcancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -395,6 +405,11 @@ namespace kiwix {
|
||||||
|
|
||||||
/* Manage */
|
/* Manage */
|
||||||
bool Indexer::start(const string zimPath, const string indexPath) {
|
bool Indexer::start(const string zimPath, const string indexPath) {
|
||||||
|
|
||||||
|
if (this->getVerboseFlag()) {
|
||||||
|
std::cout << "Indexing of '" << zimPath << "' starting..." <<std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
this->setProgression(0);
|
this->setProgression(0);
|
||||||
this->setZimPath(zimPath);
|
this->setZimPath(zimPath);
|
||||||
this->setIndexPath(indexPath);
|
this->setIndexPath(indexPath);
|
||||||
|
@ -412,6 +427,12 @@ namespace kiwix {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Indexer::isRunning() {
|
bool Indexer::isRunning() {
|
||||||
|
if (this->getVerboseFlag()) {
|
||||||
|
std::cout << "isArticleExtractor running: " << (this->isArticleExtractorRunning() ? "yes" : "no") << std::endl;
|
||||||
|
std::cout << "isArticleIndexer running: " << (this->isArticleIndexerRunning() ? "yes" : "no") << std::endl;
|
||||||
|
std::cout << "isArticleParser running: " << (this->isArticleParserRunning() ? "yes" : "no") << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
return this->isArticleExtractorRunning() || this->isArticleIndexerRunning() || this->isArticleParserRunning();
|
return this->isArticleExtractorRunning() || this->isArticleIndexerRunning() || this->isArticleParserRunning();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,4 +478,19 @@ namespace kiwix {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Manage the verboseFlag */
|
||||||
|
void Indexer::setVerboseFlag(const bool value) {
|
||||||
|
pthread_mutex_lock(&verboseMutex);
|
||||||
|
this->verboseFlag = value;
|
||||||
|
pthread_mutex_unlock(&verboseMutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Indexer::getVerboseFlag() {
|
||||||
|
bool value;
|
||||||
|
pthread_mutex_lock(&verboseMutex);
|
||||||
|
value = this->verboseFlag;
|
||||||
|
pthread_mutex_unlock(&verboseMutex);
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,38 @@ namespace kiwix {
|
||||||
bool stop();
|
bool stop();
|
||||||
bool isRunning();
|
bool isRunning();
|
||||||
unsigned int getProgression();
|
unsigned int getProgression();
|
||||||
|
void setVerboseFlag(const bool value);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void indexingPrelude(const string indexPath) = 0;
|
||||||
|
virtual void index(const string &url,
|
||||||
|
const string &title,
|
||||||
|
const string &unaccentedTitle,
|
||||||
|
const string &keywords,
|
||||||
|
const string &content,
|
||||||
|
const string &snippet,
|
||||||
|
const string &size,
|
||||||
|
const string &wordCount) = 0;
|
||||||
|
virtual void flush() = 0;
|
||||||
|
virtual void indexingPostlude() = 0;
|
||||||
|
|
||||||
|
/* Others */
|
||||||
|
unsigned int countWords(const string &text);
|
||||||
|
|
||||||
|
/* Stopwords */
|
||||||
|
bool readStopWordsFile(const string path);
|
||||||
|
std::vector<std::string> stopWords;
|
||||||
|
|
||||||
|
/* Boost factor */
|
||||||
|
unsigned int keywordsBoostFactor;
|
||||||
|
inline unsigned int getTitleBoostFactor(const unsigned int contentLength) {
|
||||||
|
return contentLength / 500 + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Verbose */
|
||||||
|
pthread_mutex_t verboseMutex;
|
||||||
|
bool getVerboseFlag();
|
||||||
|
bool verboseFlag;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
pthread_mutex_t threadIdsMutex;
|
pthread_mutex_t threadIdsMutex;
|
||||||
|
@ -130,32 +162,6 @@ namespace kiwix {
|
||||||
string indexPath;
|
string indexPath;
|
||||||
void setIndexPath(const string path);
|
void setIndexPath(const string path);
|
||||||
string getIndexPath();
|
string getIndexPath();
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual void indexingPrelude(const string indexPath) = 0;
|
|
||||||
virtual void index(const string &url,
|
|
||||||
const string &title,
|
|
||||||
const string &unaccentedTitle,
|
|
||||||
const string &keywords,
|
|
||||||
const string &content,
|
|
||||||
const string &snippet,
|
|
||||||
const string &size,
|
|
||||||
const string &wordCount) = 0;
|
|
||||||
virtual void flush() = 0;
|
|
||||||
virtual void indexingPostlude() = 0;
|
|
||||||
|
|
||||||
/* Others */
|
|
||||||
unsigned int countWords(const string &text);
|
|
||||||
|
|
||||||
/* Stopwords */
|
|
||||||
bool readStopWordsFile(const string path);
|
|
||||||
std::vector<std::string> stopWords;
|
|
||||||
|
|
||||||
/* Boost factor */
|
|
||||||
unsigned int keywordsBoostFactor;
|
|
||||||
inline unsigned int getTitleBoostFactor(const unsigned int contentLength) {
|
|
||||||
return contentLength / 500 + 1;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue