index1.cpp

来自「本系统实现了分词和倒排索引」· C++ 代码 · 共 44 行

CPP
44
字号

void index::wordleverindexing(int docid,int *termid, int termcount)
{
 int posinc=0;
 first *firstlevel;
 
 //如何获取termcount
 for(int i=0; i < termcount; ++i)
  {  
    
     firstlevel=m_arry[termid[i]];
     if(firstlevel==null)
      {
        first *firstlevel2;
        firstlevel=firstlevel2;
        m_arry[termid[i]]=firstlevel; 
       firstlevel->nKeyWordID=termid[i];                 
      }
     addlocation(docid,posinc++,firstlevel);
  }

}
void index::addlocation(int did,int location,first *onelevel)
{
 if (did != m_nLastDocID) //第一次遇到此文档
    {    
        onelevel->nDocs++; //文档频率加1
        int a=onelevel->nDocs; //文档频率同二级索引数是一样的
        onelevel->pDocListHead[a]->DocID=did;
        onelevel->pDocListHead[a]->nHits=1;
        onelevel->pDocListHead[a]->pHitHead[nHits]->nPos=location;
        m_nLastDocID=did;
    }
      
 else
  { 
    onelevel->pDocListHead[a]->nHits++; //如果不是第一次遇到,文档中词频加1
    onelevel->pDocListHead[a]->pHitHead[nHits]->nPos=location;
    //onelevel->pDocListHead[a]->pHitHead[nHits-1]->pNext=onelevel->pDocListHead[a]->hit[nHits];
  }


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?