• 大小: 2.01MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-15
  • 语言: 其他
  • 标签: 倒排索引  

资源简介

author:July thanks:ys,fuxiang。 本系统源码是个人原创文章系列,程序员编程艺术第二十六章:基于给定的文档生成倒排索引的编码与实践的整个工程源码 look:http://blog.csdn.net/v_july_v/article/details/7109500 windows下VS2010,linux环境下皆已测试通。 且只限于学习研究之用,请勿作其它用途。 如果你能将本系统改进优化,并能反馈与我,我将感激不尽。谢谢。 email:zhoulei0907@yahoo.cn page:http://blog.csdn.net/v_JULY_v/。

资源截图

代码片段和文件信息

/*
author:July
thanks:ys,fuxiang。

本系统源码是个人原创文章系列,程序员编程艺术第二十六章:基于给定的文档生成倒排索引的编码与实践的全部源码
look:http://blog.csdn.net/v_july_v/article/details/7109500

windows下VS2010,linux环境下皆已测试通。
且只限于学习研究之用,请勿作其它用途。

如果你能将本系统改进优化,并能反馈与我,我将感激不尽。谢谢。

email:zhoulei0907@yahoo.cn
page:http://blog.csdn.net/v_JULY_v/。
*/

/*
*如要在linux 下编译 请加上这句#define OS_LINUX
*如果在windows 下 请注释掉
*/
//#define OS_LINUX

#ifndef OS_LINUX
#pragma once

#else

    #define strcpy_s strcpy
    #define strncpy_s strncpy

#endif

#include “CreateIndexFile.h“
#include “FileProcess.h“
#include “HashSearch.h“
#include “StringProcess.h“

static char filename[FILE_MAX_NUM][FILENAME_MAX_LEN] = {0};
static char words[WORD_MAX_NUM][WORD_MAX_LEN] = {0};
static char items[ITEM_MAX_NUM][WORD_MAX_LEN] = {0};

/************************************************************************/
/* function: 从行缓冲中得到各项信息,将其写入items数组
/* parameter:
/* author:
/* time:
/************************************************************************/
void GetItems(char *&move int &count int &wordnum)
{
char *front = move;
bool flag = false;
int len;
move = strstr(move “#####“);
if (*(move + 5) == ‘#‘) {
flag = true;
}

if (move) {
len = move - front;
strncpy(items[count] front len);
}
items[count][len] = ‘\0‘;
count++;

if (flag) {
move = move + 10;
} else {
move = move + 5;
}
}

/************************************************************************/
/* function: 保存关键字相应的文档内容
/* parameter:
/* author:
/* time:
/************************************************************************/
doc_list SaveItems()
{
char date[9];
doc_list infolist = (doc_list) malloc(sizeof(DOCNODE));
strcpy_s(infolist->id items[0]);
infolist->classOne = atoi(items[1]);
strcpy_s(infolist->classTwo items[2]);
infolist->classThree = atoi(items[3]);
strncpy_s(date items[4] 8);
date[8] = ‘\0‘;
strncpy_s(infolist->time date 9);
strcpy_s(infolist->md5 items[5]);
infolist->weight = atoi(items[6]);
return infolist;
}

int main()
{
key_list keynode;
char *pbuf *move;
int filenum = GetFileName(filename);
FILE *frp;
pbuf = (char *)malloc(BUF_MAX_LEN);
memset(pbuf 0 BUF_MAX_LEN);

HASHVALUE *hashvalue = (HASHVALUE *)malloc(sizeof(HASHVALUE));

FILE *fwp = OpenWriteFile(“index.txt“);
if (fwp == NULL) {
return 0;
}

PrepareCryptTable();

int wordnum = 0;
for (int i = 0; i < filenum; i++)
{
frp = OpenReadFile(i filename);
if (frp == NULL) {
break;
}

// 每次读取一行处理
while (fgets(pbuf BUF_MAX_LEN frp))
{
int count = 0;
move = pbuf;
if (GetRealString(pbuf) <= 1)
continue;

while (move != NULL)
{
// 找到第一个非‘#‘的字符
while (*move == ‘#‘)
move++;

if (!strcmp(move ““))
break;

GetItems(move count wordnum);
}

for (int i = 7; i < count; i++) {
// 将关键字对应的文档内容加入文档结点链表中
InitHashValue(items[i] hashvalue);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5276  2012-01-10 13:49  CreateInvertedIndex-3\CreateIndexFile.cpp

     文件        781  2012-01-04 21:16  CreateInvertedIndex-3\CreateIndexFile.h

     文件      32208  2011-12-17 21:13  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112161533

     文件      53940  2011-12-17 21:14  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112161548

     文件     125184  2011-12-17 21:15  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112161559

     文件     175974  2011-12-17 10:46  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112171045

     文件     100325  2011-12-17 10:47  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112171046

     文件     119023  2011-12-17 10:48  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112171047

     文件     185994  2011-12-17 10:48  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112171048

     文件      12760  2011-12-17 12:16  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112171216

     文件      15800  2011-12-18 23:31  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112172347

     文件     139155  2011-12-18 23:34  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112180032

     文件       2595  2011-12-18 23:45  CreateInvertedIndex-3\CreateInvertedIndex-3\12\ky_res.log_201112181735

     文件       4276  2012-01-05 10:48  CreateInvertedIndex-3\CreateInvertedIndex-3\CreateInvertedIndex-3.vcproj

     文件       1427  2012-01-05 10:49  CreateInvertedIndex-3\CreateInvertedIndex-3\CreateInvertedIndex-3.vcproj.7SJDTOZKTGNQKYR.Administrator.user

     文件       5437  2012-01-05 15:47  CreateInvertedIndex-3\CreateInvertedIndex-3\CreateInvertedIndex-3.vcxproj

     文件       1363  2012-01-05 15:46  CreateInvertedIndex-3\CreateInvertedIndex-3\CreateInvertedIndex-3.vcxproj.filters

     文件        143  2012-01-05 15:46  CreateInvertedIndex-3\CreateInvertedIndex-3\CreateInvertedIndex-3.vcxproj.user

     文件      14944  2012-01-05 10:48  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\BuildLog.htm

     文件        778  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\cl.command.1.tlog

     文件       3228  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CL.read.1.tlog

     文件        594  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CL.write.1.tlog

     文件      35739  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateIndexFile.obj

     文件       2847  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3.Build.CppClean.log

     文件        406  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3.exe.embed.manifest

     文件        472  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3.exe.embed.manifest.res

     文件        381  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3.exe.intermediate.manifest

     文件         97  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3.lastbuildstate

     文件       5663  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3.log

     文件        232  2012-01-10 13:50  CreateInvertedIndex-3\CreateInvertedIndex-3\Debug\CreateInvertedIndex-3_manifest.rc

............此处省略47个文件信息

评论

共有 条评论