⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractsearcher.java

📁 dragontoolkit用于机器学习
💻 JAVA
字号:
package dragon.ir.search;

import dragon.ir.index.*;
import dragon.ir.query.*;
import dragon.ir.search.smooth.Smoother;
import java.util.*;

/**
 * <p>Abstract class of Searcher</p>
 * <p> </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IST, Drexel University</p>
 * @author Davis Zhou
 * @version 1.0
 */

public abstract class AbstractSearcher implements Searcher{
    protected IndexReader indexReader;
    protected ArrayList hitlist;
    protected IRQuery query;
    protected Smoother smoother;
    private boolean queryWeighting;

    public AbstractSearcher(IndexReader indexReader, Smoother smoother) {
        this.indexReader=indexReader;
        this.smoother =smoother;
        this.queryWeighting =true;
    }

    protected SimpleTermPredicate[] checkSimpleTermQuery(RelSimpleQuery query){
        SimpleTermPredicate predicate, arrPredicate[];
        IRTerm curIRTerm;
        ArrayList list;
        int i;

        list=new ArrayList();
        for(i=0;i<query.getChildNum();i++){
            if(((Predicate)query.getChild(i)).isTermPredicate()){
                predicate = (SimpleTermPredicate) query.getChild(i);
                if (predicate.getDocFrequency()<=0) {
                    curIRTerm=indexReader.getIRTerm(predicate.getKey());
                    if(curIRTerm!=null){
                        predicate.setDocFrequency(curIRTerm.getDocFrequency());
                        predicate.setFrequency(curIRTerm.getFrequency());
                        predicate.setIndex(curIRTerm.getIndex());
                    }
                }
                if(predicate.getDocFrequency()>0){
                    list.add(predicate);
                }
            }
        }
        arrPredicate=new SimpleTermPredicate[list.size()];
        for(i=0;i<list.size();i++){
            arrPredicate[i] = ( (SimpleTermPredicate) list.get(i)).copy();
            if(!queryWeighting){
                arrPredicate[i].setWeight(1);
            }
        }
        return arrPredicate;
    }

    public IRDoc getIRDoc(int ranking){
        return (IRDoc)hitlist.get(ranking);
    }

    public ArrayList getRankedDocumentList(){
        return hitlist;
    }

    public int getRetrievedDocNum(){
        return hitlist.size();
    }

    public Smoother getSmoother(){
        return smoother;
    }

    public IndexReader getIndexReader(){
        return indexReader;
    }

    public IRQuery getQuery(){
        return query;
    }

    public void setQueryWeightingOption(boolean option){
        this.queryWeighting =option;
    }

    public boolean getQueryWeightingOption(){
        return queryWeighting;
    }
}

⌨️ 快捷键说明

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