當前位置: 首頁>>代碼示例>>Java>>正文


Java Node.getInternalNodes方法代碼示例

本文整理匯總了Java中org.galagosearch.core.retrieval.query.Node.getInternalNodes方法的典型用法代碼示例。如果您正苦於以下問題:Java Node.getInternalNodes方法的具體用法?Java Node.getInternalNodes怎麽用?Java Node.getInternalNodes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.galagosearch.core.retrieval.query.Node的用法示例。


在下文中一共展示了Node.getInternalNodes方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: afterNode

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
public Node afterNode(Node node) throws Exception {
    ArrayList<Node> children = node.getInternalNodes();
    if (node.getOperator().equals("weight")) {
        // first, verify that the appropriate children are weights
        if (children.size() % 2 == 1) {
            throw new IOException("A weighted node cannot have an odd number of internal nodes: " +
                    node.getInternalNodes().size());
        }
                    
        // now, reassemble everything:
        ArrayList<Node> newChildren = new ArrayList<Node>();
        for (int i = 0; i < children.size(); i += 2) {
            Node weightNode = children.get(i);
            Node childNode = children.get(i+1);
            
            ArrayList<Node> newChild = new ArrayList<Node>();
            newChild.add(childNode);
            Node scaledNode = new Node("scale", getWeight(weightNode), newChild);
            newChildren.add(scaledNode);
        }

        return new Node("combine", newChildren);
    } else {
        return node;
    }
}
 
開發者ID:jjfiv,項目名稱:galagosearch,代碼行數:27,代碼來源:WeightConversionTraversal.java

示例2: afterNode

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
public Node afterNode(Node node) throws Exception {
    ArrayList<Node> newChildren = new ArrayList<Node>();
    NodeType nodeType = retrieval.getNodeType(node);
    if (nodeType == null) return node;
    ArrayList<Node> children = node.getInternalNodes();
    // Given that we're going to pass children.size() + 1 parameters to
    // this constructor, what types should those parameters have?
    Class[] types = nodeType.getParameterTypes(children.size() + 1);
    if (types == null) return node;

    for (int i = 1; i < types.length; ++i) {
        Node child = children.get(i-1);
        // If the parent will expect a ScoreIterator at this position, but
        // we've got a CountIterator here, we'll perform a conversion step.
        if (ScoreIterator.class.isAssignableFrom(types[i]) &&
            isCountNode(children.get(i-1))) {
            Node feature = createSmoothingNode(child);
            newChildren.add(feature);
        } else {
            newChildren.add(child);
        }
    }

    return new Node(node.getOperator(), node.getParameters(),
                    newChildren, node.getPosition());
}
 
開發者ID:jjfiv,項目名稱:galagosearch,代碼行數:27,代碼來源:ImplicitFeatureCastTraversal.java

示例3: afterNode

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
public Node afterNode(Node node) throws Exception {
    ArrayList<Node> children = new ArrayList<Node>();

    if (node.getOperator().equals("combine")) {
        ArrayList<Node> oldChildren = node.getInternalNodes();
        for (int i = 0; i < oldChildren.size(); i++) {
            Node child = oldChildren.get(i);
            boolean isStopword = child.getOperator().equals("text") &&
                                 words.contains(child.getDefaultParameter());
            if (!isStopword) {
                children.add(child);
            }
        }

        return new Node(node.getOperator(), children);
    }
    
    return node;
}
 
開發者ID:youngilcho,項目名稱:internet-application-2014,代碼行數:20,代碼來源:RemoveStopwordsTraversal.java

示例4: createIterator

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
public StructuredIterator createIterator(Node node) throws Exception {
    ArrayList<StructuredIterator> internalIterators = new ArrayList<StructuredIterator>();

    for (Node internalNode : node.getInternalNodes()) {
        StructuredIterator internalIterator = createIterator(internalNode);
        internalIterators.add(internalIterator);
    }
    
    StructuredIterator iterator = index.getIterator(node);
    if (iterator == null) {
        iterator = featureFactory.getIterator(node, internalIterators);
    }
    
    return iterator;
}
 
開發者ID:jjfiv,項目名稱:galagosearch,代碼行數:16,代碼來源:StructuredRetrieval.java

示例5: stemmedNode

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
private Node stemmedNode(Node original) {
    Parameters parameters = original.getParameters().clone();
    parameters.add("part", "stemmedPostings");
    String term = parameters.get("default");
    stemmer.setCurrent(term);
    stemmer.stem();
    String stemmed = stemmer.getCurrent();
    parameters.set("default", stemmed);
    return new Node("extents", parameters, original.getInternalNodes(), original.getPosition());
}
 
開發者ID:jjfiv,項目名稱:galagosearch,代碼行數:11,代碼來源:TextFieldRewriteTraversal.java

示例6: afterNode

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
public Node afterNode(Node original) {
    String operator = original.getOperator();
    ArrayList<Node> children = original.getInternalNodes();

    if (operator.length() == 0) {
        return original;
    }

    if (Character.isDigit(operator.codePointAt(0))) {
        // this is a #n node, which is an ordered window node
        return new Node("od", operator, children, original.getPosition());
    } else if (operator.startsWith("od") &&
            operator.length() > 2 &&
            Character.isDigit(operator.codePointAt(2))) {
        // this is a #od3() node
        return new Node("od", operator.substring(2),
                children, original.getPosition());
    } else if (operator.startsWith("uw") &&
            operator.length() > 2 &&
            Character.isDigit(operator.codePointAt(2))) {
        // this is a #uw3 node
        return new Node("uw", operator.substring(2),
                children, original.getPosition());
    }

    return original;
}
 
開發者ID:jjfiv,項目名稱:galagosearch,代碼行數:28,代碼來源:IndriWindowCompatibilityTraversal.java

示例7: transformedNode

import org.galagosearch.core.retrieval.query.Node; //導入方法依賴的package包/類
public Node transformedNode(Node original,
        String operatorName, String indexName) {
    Parameters parameters = original.getParameters().clone();
    parameters.add("part", indexName);
    return new Node(operatorName, parameters, original.getInternalNodes(), original.getPosition());
}
 
開發者ID:jjfiv,項目名稱:galagosearch,代碼行數:7,代碼來源:TextFieldRewriteTraversal.java


注:本文中的org.galagosearch.core.retrieval.query.Node.getInternalNodes方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。