org.apache.lucene.search.Query.clone()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.8k)|赞(0)|评价(0)|浏览(184)

本文整理了Java中org.apache.lucene.search.Query.clone方法的一些代码示例,展示了Query.clone的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.clone方法的具体详情如下:
包路径:org.apache.lucene.search.Query
类名称:Query
方法名:clone

Query.clone介绍

[英]Returns a clone of this query.
[中]返回此查询的克隆。

代码示例

代码示例来源:origin: org.infinispan/infinispan-embedded-query

  1. @Override
  2. public CustomScoreQuery clone() {
  3. CustomScoreQuery clone = (CustomScoreQuery) super.clone();
  4. clone.subQuery = subQuery;
  5. clone.scoringQueries = new Query[scoringQueries.length];
  6. for(int i = 0; i < scoringQueries.length; i++) {
  7. clone.scoringQueries[i] = scoringQueries[i];
  8. }
  9. return clone;
  10. }

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public CustomScoreQuery clone() {
  3. CustomScoreQuery clone = (CustomScoreQuery) super.clone();
  4. clone.subQuery = subQuery;
  5. clone.scoringQueries = new Query[scoringQueries.length];
  6. for(int i = 0; i < scoringQueries.length; i++) {
  7. clone.scoringQueries[i] = scoringQueries[i];
  8. }
  9. return clone;
  10. }

代码示例来源:origin: org.apache.lucene/com.springsource.org.apache.lucene

  1. /** Create a shallow copy of us -- used in rewriting if necessary
  2. * @return a copy of us (but reuse, don't copy, our subqueries) */
  3. public Object clone() {
  4. DisjunctionMaxQuery clone = (DisjunctionMaxQuery)super.clone();
  5. clone.disjuncts = (ArrayList)this.disjuncts.clone();
  6. return clone;
  7. }

代码示例来源:origin: org.apache.lucene/com.springsource.org.apache.lucene

  1. public Object clone() {
  2. BooleanQuery clone = (BooleanQuery)super.clone();
  3. clone.clauses = (ArrayList)this.clauses.clone();
  4. return clone;
  5. }

代码示例来源:origin: org.infinispan/infinispan-embedded-query

  1. @Override
  2. public BooleanQuery clone() {
  3. BooleanQuery clone = (BooleanQuery) super.clone();
  4. clone.clauses = new ArrayList<>(clauses);
  5. return clone;
  6. }

代码示例来源:origin: lucene/lucene

  1. public Object clone() {
  2. BooleanQuery clone = (BooleanQuery)super.clone();
  3. clone.clauses = (Vector)this.clauses.clone();
  4. return clone;
  5. }

代码示例来源:origin: org.apache.lucene/lucene-core-jfrog

  1. public Object clone() {
  2. BooleanQuery clone = (BooleanQuery)super.clone();
  3. clone.clauses = (ArrayList)this.clauses.clone();
  4. return clone;
  5. }

代码示例来源:origin: org.apache.lucene/lucene-core-jfrog

  1. /** Create a shallow copy of us -- used in rewriting if necessary
  2. * @return a copy of us (but reuse, don't copy, our subqueries) */
  3. public Object clone() {
  4. DisjunctionMaxQuery clone = (DisjunctionMaxQuery)super.clone();
  5. clone.disjuncts = (ArrayList)this.disjuncts.clone();
  6. return clone;
  7. }

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public BooleanQuery clone() {
  3. BooleanQuery clone = (BooleanQuery) super.clone();
  4. clone.clauses = new ArrayList<>(clauses);
  5. return clone;
  6. }

代码示例来源:origin: org.apache.lucene/com.springsource.org.apache.lucene

  1. public Object clone() {
  2. CustomScoreQuery clone = (CustomScoreQuery)super.clone();
  3. clone.subQuery = (Query) subQuery.clone();
  4. clone.valSrcQueries = new ValueSourceQuery[valSrcQueries.length];
  5. for(int i = 0; i < valSrcQueries.length; i++) {
  6. clone.valSrcQueries[i] = (ValueSourceQuery) valSrcQueries[i].clone();
  7. }
  8. return clone;
  9. }

代码示例来源:origin: org.apache.lucene/lucene-core-jfrog

  1. public Object clone() {
  2. CustomScoreQuery clone = (CustomScoreQuery)super.clone();
  3. clone.subQuery = (Query) subQuery.clone();
  4. clone.valSrcQueries = new ValueSourceQuery[valSrcQueries.length];
  5. for(int i = 0; i < valSrcQueries.length; i++) {
  6. clone.valSrcQueries[i] = (ValueSourceQuery) valSrcQueries[i].clone();
  7. }
  8. return clone;
  9. }

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public Query clone() {
  3. Query clonedQuery = origParentQuery.clone();
  4. return new IncludeNestedDocsQuery(clonedQuery, this);
  5. }
  6. }

代码示例来源:origin: Cue/greplin-lucene-utils

  1. /**
  2. * Creates a new boosting query.
  3. * @param match the query to match.
  4. * @param context the query to base boosting on.
  5. * @param boost the amount of the boost.
  6. */
  7. public ConstantQueryNormBoostingQuery(
  8. final Query match, final Query context, final float boost) {
  9. this.match = match;
  10. this.context = (Query) context.clone();
  11. this.boost = boost;
  12. this.context.setBoost(0.0f);
  13. }

代码示例来源:origin: org.infinispan/infinispan-embedded-query

  1. /** Expert: called to re-write queries into primitive queries. For example,
  2. * a PrefixQuery will be rewritten into a BooleanQuery that consists
  3. * of TermQuerys.
  4. */
  5. public Query rewrite(IndexReader reader) throws IOException {
  6. if (boost != 1f) {
  7. Query rewritten = clone();
  8. rewritten.setBoost(1f);
  9. return new BoostQuery(rewritten, boost);
  10. }
  11. return this;
  12. }

代码示例来源:origin: harbby/presto-connectors

  1. /** Expert: called to re-write queries into primitive queries. For example,
  2. * a PrefixQuery will be rewritten into a BooleanQuery that consists
  3. * of TermQuerys.
  4. */
  5. public Query rewrite(IndexReader reader) throws IOException {
  6. if (boost != 1f) {
  7. Query rewritten = clone();
  8. rewritten.setBoost(1f);
  9. return new BoostQuery(rewritten, boost);
  10. }
  11. return this;
  12. }

代码示例来源:origin: org.dspace.dependencies.solr/dspace-solr-core

  1. /** Fixes a negative query by adding a MatchAllDocs query clause.
  2. * The query passed in *must* be a negative query.
  3. */
  4. static Query fixNegativeQuery(Query q) {
  5. BooleanQuery newBq = (BooleanQuery)q.clone();
  6. newBq.add(new MatchAllDocsQuery(), BooleanClause.Occur.MUST);
  7. return newBq;
  8. }

代码示例来源:origin: org.apache.lucene/lucene-core-jfrog

  1. /** Optimize our representation and our subqueries representations
  2. * @param reader the IndexReader we query
  3. * @return an optimized copy of us (which may not be a copy if there is nothing to optimize) */
  4. public Query rewrite(IndexReader reader) throws IOException {
  5. if (disjuncts.size() == 1) {
  6. Query singleton = (Query) disjuncts.get(0);
  7. Query result = singleton.rewrite(reader);
  8. if (getBoost() != 1.0f) {
  9. if (result == singleton) result = (Query)result.clone();
  10. result.setBoost(getBoost() * result.getBoost());
  11. }
  12. return result;
  13. }
  14. DisjunctionMaxQuery clone = null;
  15. for (int i = 0 ; i < disjuncts.size(); i++) {
  16. Query clause = (Query) disjuncts.get(i);
  17. Query rewrite = clause.rewrite(reader);
  18. if (rewrite != clause) {
  19. if (clone == null) clone = (DisjunctionMaxQuery)this.clone();
  20. clone.disjuncts.set(i, rewrite);
  21. }
  22. }
  23. if (clone != null) return clone;
  24. else return this;
  25. }

代码示例来源:origin: org.apache.lucene/com.springsource.org.apache.lucene

  1. /** Optimize our representation and our subqueries representations
  2. * @param reader the IndexReader we query
  3. * @return an optimized copy of us (which may not be a copy if there is nothing to optimize) */
  4. public Query rewrite(IndexReader reader) throws IOException {
  5. if (disjuncts.size() == 1) {
  6. Query singleton = (Query) disjuncts.get(0);
  7. Query result = singleton.rewrite(reader);
  8. if (getBoost() != 1.0f) {
  9. if (result == singleton) result = (Query)result.clone();
  10. result.setBoost(getBoost() * result.getBoost());
  11. }
  12. return result;
  13. }
  14. DisjunctionMaxQuery clone = null;
  15. for (int i = 0 ; i < disjuncts.size(); i++) {
  16. Query clause = (Query) disjuncts.get(i);
  17. Query rewrite = clause.rewrite(reader);
  18. if (rewrite != clause) {
  19. if (clone == null) clone = (DisjunctionMaxQuery)this.clone();
  20. clone.disjuncts.set(i, rewrite);
  21. }
  22. }
  23. if (clone != null) return clone;
  24. else return this;
  25. }

代码示例来源:origin: com.atlassian.jira/jira-core

  1. private BooleanQuery handleContainsMust(final QueryBucket queryBucket)
  2. {
  3. BooleanQuery query = new BooleanQuery();
  4. // There is nothing to do here except complete a deep dive on each query
  5. final BooleanQuery originalBooleanQuery = queryBucket.getOriginalBooleanQuery();
  6. query.setBoost(originalBooleanQuery.getBoost());
  7. query.setMinimumNumberShouldMatch(originalBooleanQuery.getMinimumNumberShouldMatch());
  8. final BooleanClause[] booleanClauses = originalBooleanQuery.getClauses();
  9. for (BooleanClause booleanClause : booleanClauses)
  10. {
  11. final Query subQuery = booleanClause.getQuery();
  12. final BooleanClause.Occur subOccur = booleanClause.getOccur();
  13. if (subQuery instanceof BooleanQuery)
  14. {
  15. query.add(transformBooleanQuery((BooleanQuery) subQuery), subOccur);
  16. }
  17. else
  18. {
  19. query.add((Query) subQuery.clone(), subOccur);
  20. }
  21. }
  22. return query;
  23. }

代码示例来源:origin: com.atlassian.jira/jira-core

  1. private BooleanQuery handleOnlyNot(final QueryBucket queryBucket)
  2. {
  3. BooleanQuery query = new BooleanQuery();
  4. BooleanQuery originalQuery = queryBucket.getOriginalBooleanQuery();
  5. query.setBoost(originalQuery.getBoost());
  6. query.setMinimumNumberShouldMatch(originalQuery.getMinimumNumberShouldMatch());
  7. // We always add a match all in this case
  8. query.add(new MatchAllDocsQuery(), BooleanClause.Occur.MUST);
  9. for (Query origNotQuery : queryBucket.getNotQueries())
  10. {
  11. Query notQuery = (Query) origNotQuery.clone();
  12. // Make sure we continue to dive the tree if we need to
  13. if (notQuery instanceof BooleanQuery)
  14. {
  15. query.add(transformBooleanQuery((BooleanQuery) notQuery), BooleanClause.Occur.MUST_NOT);
  16. }
  17. else
  18. {
  19. query.add(notQuery, BooleanClause.Occur.MUST_NOT);
  20. }
  21. }
  22. return query;
  23. }

相关文章