elasticsearch fails to start due to verification error, closes #2051.
This commit is contained in:
parent
e523c71a88
commit
c0f9e337ce
|
@ -1,78 +0,0 @@
|
|||
package org.apache.lucene.search.vectorhighlight;
|
||||
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import org.apache.lucene.search.vectorhighlight.FieldFragList.WeightedFragInfo;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* An implementation of FragmentsBuilder that outputs score-order fragments.
|
||||
*/
|
||||
public class ScoreOrderFragmentsBuilder extends AbstractFragmentsBuilder {
|
||||
|
||||
/**
|
||||
* a constructor.
|
||||
*/
|
||||
public ScoreOrderFragmentsBuilder(){
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* a constructor.
|
||||
*
|
||||
* @param preTags array of pre-tags for markup terms.
|
||||
* @param postTags array of post-tags for markup terms.
|
||||
*/
|
||||
public ScoreOrderFragmentsBuilder(String[] preTags, String[] postTags){
|
||||
super( preTags, postTags );
|
||||
}
|
||||
|
||||
public ScoreOrderFragmentsBuilder(BoundaryScanner bs){
|
||||
super( bs );
|
||||
}
|
||||
|
||||
public ScoreOrderFragmentsBuilder(String[] preTags, String[] postTags, BoundaryScanner bs){
|
||||
super( preTags, postTags, bs );
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort by score the list of WeightedFragInfo
|
||||
*/
|
||||
@Override
|
||||
public List<WeightedFragInfo> getWeightedFragInfoList( List<WeightedFragInfo> src ) {
|
||||
Collections.sort( src, new ScoreComparator() );
|
||||
return src;
|
||||
}
|
||||
|
||||
public static class ScoreComparator implements Comparator<WeightedFragInfo> {
|
||||
|
||||
public int compare( WeightedFragInfo o1, WeightedFragInfo o2 ) {
|
||||
if( o1.totalBoost > o2.totalBoost ) return -1;
|
||||
else if( o1.totalBoost < o2.totalBoost ) return 1;
|
||||
// if same score then check startOffset
|
||||
else{
|
||||
if( o1.startOffset < o2.startOffset ) return -1;
|
||||
else if( o1.startOffset > o2.startOffset ) return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
package org.apache.lucene.search.vectorhighlight;
|
||||
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import org.apache.lucene.search.vectorhighlight.FieldFragList.WeightedFragInfo;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* An implementation of FragmentsBuilder that outputs score-order fragments.
|
||||
*/
|
||||
public class XScoreOrderFragmentsBuilder extends AbstractFragmentsBuilder {
|
||||
|
||||
/**
|
||||
* a constructor.
|
||||
*/
|
||||
public XScoreOrderFragmentsBuilder() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* a constructor.
|
||||
*
|
||||
* @param preTags array of pre-tags for markup terms.
|
||||
* @param postTags array of post-tags for markup terms.
|
||||
*/
|
||||
public XScoreOrderFragmentsBuilder(String[] preTags, String[] postTags) {
|
||||
super(preTags, postTags);
|
||||
}
|
||||
|
||||
public XScoreOrderFragmentsBuilder(BoundaryScanner bs) {
|
||||
super(bs);
|
||||
}
|
||||
|
||||
public XScoreOrderFragmentsBuilder(String[] preTags, String[] postTags, BoundaryScanner bs) {
|
||||
super(preTags, postTags, bs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort by score the list of WeightedFragInfo
|
||||
*/
|
||||
@Override
|
||||
public List<WeightedFragInfo> getWeightedFragInfoList(List<WeightedFragInfo> src) {
|
||||
Collections.sort(src, new ScoreComparator());
|
||||
return src;
|
||||
}
|
||||
|
||||
public static class ScoreComparator implements Comparator<WeightedFragInfo> {
|
||||
|
||||
public int compare(WeightedFragInfo o1, WeightedFragInfo o2) {
|
||||
if (o1.totalBoost > o2.totalBoost) return -1;
|
||||
else if (o1.totalBoost < o2.totalBoost) return 1;
|
||||
// if same score then check startOffset
|
||||
else {
|
||||
if (o1.startOffset < o2.startOffset) return -1;
|
||||
else if (o1.startOffset > o2.startOffset) return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -23,40 +23,39 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* A simple implementation of FragmentsBuilder.
|
||||
*
|
||||
*/
|
||||
public class SimpleFragmentsBuilder extends AbstractFragmentsBuilder {
|
||||
public class XSimpleFragmentsBuilder extends AbstractFragmentsBuilder {
|
||||
|
||||
/**
|
||||
* a constructor.
|
||||
*/
|
||||
public SimpleFragmentsBuilder() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* a constructor.
|
||||
*/
|
||||
public XSimpleFragmentsBuilder() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* a constructor.
|
||||
*
|
||||
* @param preTags array of pre-tags for markup terms.
|
||||
* @param postTags array of post-tags for markup terms.
|
||||
*/
|
||||
public SimpleFragmentsBuilder(String[] preTags, String[] postTags) {
|
||||
super( preTags, postTags );
|
||||
}
|
||||
/**
|
||||
* a constructor.
|
||||
*
|
||||
* @param preTags array of pre-tags for markup terms.
|
||||
* @param postTags array of post-tags for markup terms.
|
||||
*/
|
||||
public XSimpleFragmentsBuilder(String[] preTags, String[] postTags) {
|
||||
super(preTags, postTags);
|
||||
}
|
||||
|
||||
public SimpleFragmentsBuilder(BoundaryScanner bs) {
|
||||
super( bs );
|
||||
}
|
||||
public XSimpleFragmentsBuilder(BoundaryScanner bs) {
|
||||
super(bs);
|
||||
}
|
||||
|
||||
public SimpleFragmentsBuilder(String[] preTags, String[] postTags, BoundaryScanner bs) {
|
||||
super( preTags, postTags, bs );
|
||||
}
|
||||
public XSimpleFragmentsBuilder(String[] preTags, String[] postTags, BoundaryScanner bs) {
|
||||
super(preTags, postTags, bs);
|
||||
}
|
||||
|
||||
/**
|
||||
* do nothing. return the source list.
|
||||
*/
|
||||
@Override
|
||||
public List<WeightedFragInfo> getWeightedFragInfoList( List<WeightedFragInfo> src ) {
|
||||
return src;
|
||||
}
|
||||
/**
|
||||
* do nothing. return the source list.
|
||||
*/
|
||||
@Override
|
||||
public List<WeightedFragInfo> getWeightedFragInfoList(List<WeightedFragInfo> src) {
|
||||
return src;
|
||||
}
|
||||
}
|
|
@ -265,7 +265,7 @@ public class HighlightPhase extends AbstractComponent implements FetchSubPhase {
|
|||
fragListBuilder = new SingleFragListBuilder();
|
||||
|
||||
if (mapper.stored()) {
|
||||
fragmentsBuilder = new SimpleFragmentsBuilder(field.preTags(), field.postTags(), boundaryScanner);
|
||||
fragmentsBuilder = new XSimpleFragmentsBuilder(field.preTags(), field.postTags(), boundaryScanner);
|
||||
} else {
|
||||
fragmentsBuilder = new SourceSimpleFragmentsBuilder(mapper, context, field.preTags(), field.postTags(), boundaryScanner);
|
||||
}
|
||||
|
@ -277,13 +277,13 @@ public class HighlightPhase extends AbstractComponent implements FetchSubPhase {
|
|||
|
||||
if (field.scoreOrdered()) {
|
||||
if (mapper.stored()) {
|
||||
fragmentsBuilder = new ScoreOrderFragmentsBuilder(field.preTags(), field.postTags(), boundaryScanner);
|
||||
fragmentsBuilder = new XScoreOrderFragmentsBuilder(field.preTags(), field.postTags(), boundaryScanner);
|
||||
} else {
|
||||
fragmentsBuilder = new SourceScoreOrderFragmentsBuilder(mapper, context, field.preTags(), field.postTags(), boundaryScanner);
|
||||
}
|
||||
} else {
|
||||
if (mapper.stored()) {
|
||||
fragmentsBuilder = new SimpleFragmentsBuilder(field.preTags(), field.postTags(), boundaryScanner);
|
||||
fragmentsBuilder = new XSimpleFragmentsBuilder(field.preTags(), field.postTags(), boundaryScanner);
|
||||
} else {
|
||||
fragmentsBuilder = new SourceSimpleFragmentsBuilder(mapper, context, field.preTags(), field.postTags(), boundaryScanner);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ package org.elasticsearch.search.highlight.vectorhighlight;
|
|||
import org.apache.lucene.document.Field;
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.search.vectorhighlight.BoundaryScanner;
|
||||
import org.apache.lucene.search.vectorhighlight.ScoreOrderFragmentsBuilder;
|
||||
import org.apache.lucene.search.vectorhighlight.XScoreOrderFragmentsBuilder;
|
||||
import org.elasticsearch.index.mapper.FieldMapper;
|
||||
import org.elasticsearch.search.internal.SearchContext;
|
||||
import org.elasticsearch.search.lookup.SearchLookup;
|
||||
|
@ -33,7 +33,7 @@ import java.util.List;
|
|||
/**
|
||||
*
|
||||
*/
|
||||
public class SourceScoreOrderFragmentsBuilder extends ScoreOrderFragmentsBuilder {
|
||||
public class SourceScoreOrderFragmentsBuilder extends XScoreOrderFragmentsBuilder {
|
||||
|
||||
private final FieldMapper mapper;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ package org.elasticsearch.search.highlight.vectorhighlight;
|
|||
import org.apache.lucene.document.Field;
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.search.vectorhighlight.BoundaryScanner;
|
||||
import org.apache.lucene.search.vectorhighlight.SimpleFragmentsBuilder;
|
||||
import org.apache.lucene.search.vectorhighlight.XSimpleFragmentsBuilder;
|
||||
import org.elasticsearch.index.mapper.FieldMapper;
|
||||
import org.elasticsearch.search.internal.SearchContext;
|
||||
import org.elasticsearch.search.lookup.SearchLookup;
|
||||
|
@ -33,7 +33,7 @@ import java.util.List;
|
|||
/**
|
||||
*
|
||||
*/
|
||||
public class SourceSimpleFragmentsBuilder extends SimpleFragmentsBuilder {
|
||||
public class SourceSimpleFragmentsBuilder extends XSimpleFragmentsBuilder {
|
||||
|
||||
private final FieldMapper mapper;
|
||||
|
||||
|
|
Loading…
Reference in New Issue