blob: 918b6aabc55321b7fdeac400f9ed8a7ea7e11abb [file]
/*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
*
* Distributable under the terms of either the Apache License (Version 2.0) or
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#include "CLucene/StdHeader.h"
#include "CLucene/_clucene-config.h"
#include "CLucene.h"
#include "CLucene/util/Misc.h"
//test for memory leaks:
#ifdef _MSC_VER
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#endif
#endif
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
using namespace lucene::util;
//void DeleteFiles(const char* dir);
void IndexFiles(const char* path, const char* target, const bool clearIndex);
void SearchFiles(const char* index);
void getStats(const char* directory);
int main( int32_t argc, char** argv ){
//Dumper Debug
#ifdef _MSC_VER
#ifdef _DEBUG
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_CHECK_CRT_DF );
_crtBreakAlloc=-1;
#endif
#endif
uint64_t str = Misc::currentTimeMillis();
try{
printf("Location of text files to be indexed: ");
char files[250];
char* tmp = fgets(files,250,stdin);
if ( tmp == NULL ) return 1;
files[strlen(files)-1] = 0;
printf("Location to store the clucene index: ");
char ndx[250];
tmp = fgets(ndx,250,stdin);
if ( tmp == NULL ) return 1;
ndx[strlen(ndx)-1] = 0;
IndexFiles(files,ndx,true);
//getStats(ndx);
//SearchFiles(ndx);
//DeleteFiles(ndx);
}catch(CLuceneError& err){
printf("Error: %s\n", err.what());
}catch(...){
printf("Unknown error\n");
}
_lucene_shutdown(); //clears all static memory
//print lucenebase debug
//Debugging techniques:
//For msvc, use this for breaking on memory leaks:
// _crtBreakAlloc
//for linux, use valgrind
printf ("\n\nTime taken: %d\n\n", (int32_t)(Misc::currentTimeMillis() - str));
return 0;
}