Example usage for org.apache.lucene.index Fields Fields

List of usage examples for org.apache.lucene.index Fields Fields

Introduction

In this page you can find the example usage for org.apache.lucene.index Fields Fields.

Prototype

protected Fields() 

Source Link

Document

Sole constructor.

Usage

From source file:com.floragunn.searchguard.configuration.DlsFlsFilterLeafReader.java

License:Open Source License

@Override
public Fields fields() throws IOException {
    final Fields fields = in.fields();

    if (!flsEnabled) {
        return fields;
    }/*w w w.  ja  va  2 s .  c om*/

    return new Fields() {

        @Override
        public Iterator<String> iterator() {
            return Iterators.<String>filter(fields.iterator(), new Predicate<String>() {

                @Override
                public boolean apply(final String input) {
                    return isFls(input);
                }
            });
        }

        @Override
        public Terms terms(final String field) throws IOException {

            if (!isFls(field)) {
                return null;
            }

            return in.terms(field);

        }

        @Override
        public int size() {
            return flsFieldInfos.size();
        }

    };
}

From source file:com.floragunn.searchguard.configuration.DlsFlsFilterLeafReader.java

License:Open Source License

@Override
public Fields getTermVectors(final int docID) throws IOException {
    final Fields fields = in.getTermVectors(docID);

    if (!flsEnabled || fields == null) {
        return fields;
    }/*from   w w w . j  a va  2  s. c  o  m*/

    return new Fields() {

        @Override
        public Iterator<String> iterator() {
            return Iterators.<String>filter(fields.iterator(), new Predicate<String>() {

                @Override
                public boolean apply(final String input) {
                    return isFls(input);
                }
            });
        }

        @Override
        public Terms terms(final String field) throws IOException {

            if (!isFls(field)) {
                return null;
            }

            return in.terms(field);

        }

        @Override
        public int size() {
            return flsFieldInfos.size();
        }

    };
}

From source file:com.floragunn.searchguard.configuration.EmptyReader.java

License:Apache License

@Override
public Fields fields() throws IOException {
    return new Fields() {
        @Override//w w w.j  a  va  2  s .c o  m
        public Iterator<String> iterator() {
            return Collections.<String>emptyList().iterator();
        }

        @Override
        public Terms terms(final String field) throws IOException {
            return new Terms() {

                @Override
                public long size() throws IOException {
                    // TODO Auto-generated method stub
                    return 0;
                }

                @Override
                public TermsEnum iterator() throws IOException {
                    // TODO Auto-generated method stub
                    return new TermsEnum() {

                        @Override
                        public BytesRef next() throws IOException {
                            // TODO Auto-generated method stub
                            return null;
                        }

                        @Override
                        public long totalTermFreq() throws IOException {
                            // TODO Auto-generated method stub
                            return 0;
                        }

                        @Override
                        public BytesRef term() throws IOException {
                            // TODO Auto-generated method stub
                            return null;
                        }

                        @Override
                        public void seekExact(long ord) throws IOException {
                            // TODO Auto-generated method stub

                        }

                        @Override
                        public SeekStatus seekCeil(BytesRef text) throws IOException {
                            // TODO Auto-generated method stub
                            return null;
                        }

                        @Override
                        public PostingsEnum postings(PostingsEnum reuse, int flags) throws IOException {
                            // TODO Auto-generated method stub
                            return null;
                        }

                        @Override
                        public long ord() throws IOException {
                            // TODO Auto-generated method stub
                            return 0;
                        }

                        @Override
                        public int docFreq() throws IOException {
                            // TODO Auto-generated method stub
                            return 0;
                        }
                    };
                }

                @Override
                public boolean hasPositions() {
                    // TODO Auto-generated method stub
                    return false;
                }

                @Override
                public boolean hasPayloads() {
                    // TODO Auto-generated method stub
                    return false;
                }

                @Override
                public boolean hasOffsets() {
                    // TODO Auto-generated method stub
                    return false;
                }

                @Override
                public boolean hasFreqs() {
                    // TODO Auto-generated method stub
                    return false;
                }

                @Override
                public long getSumTotalTermFreq() throws IOException {
                    // TODO Auto-generated method stub
                    return 0;
                }

                @Override
                public long getSumDocFreq() throws IOException {
                    // TODO Auto-generated method stub
                    return 0;
                }

                @Override
                public int getDocCount() throws IOException {
                    // TODO Auto-generated method stub
                    return 0;
                }
            };
        }

        @Override
        public int size() {
            return 0;
        }
    };
}

From source file:org.elasticsearch.action.termvector.TermVectorResponse.java

License:Apache License

public Fields getFields() throws IOException {
    if (hasTermVectors() && isExists()) {
        if (!sourceCopied) { // make the bytes safe
            headerRef = headerRef.copyBytesArray();
            termVectors = termVectors.copyBytesArray();
        }//from   w  w  w .j  a  v a2  s.  c  o  m
        return new TermVectorFields(headerRef, termVectors);
    } else {
        return new Fields() {
            @Override
            public Iterator<String> iterator() {
                return Iterators.emptyIterator();
            }

            @Override
            public Terms terms(String field) throws IOException {
                return null;
            }

            @Override
            public int size() {
                return 0;
            }
        };
    }

}

From source file:org.elasticsearch.action.termvectors.TermVectorsResponse.java

License:Apache License

public Fields getFields() throws IOException {
    if (hasTermVectors() && isExists()) {
        if (!sourceCopied) { // make the bytes safe
            headerRef = headerRef.copyBytesArray();
            termVectors = termVectors.copyBytesArray();
        }/*ww  w. j  a v  a2s .c o  m*/
        TermVectorsFields termVectorsFields = new TermVectorsFields(headerRef, termVectors);
        hasScores = termVectorsFields.hasScores;
        return termVectorsFields;
    } else {
        return new Fields() {
            @Override
            public Iterator<String> iterator() {
                return Collections.emptyIterator();
            }

            @Override
            public Terms terms(String field) throws IOException {
                return null;
            }

            @Override
            public int size() {
                return 0;
            }
        };
    }
}

From source file:org.elasticsearch.search.suggest.completion.CompletionPostingsFormatTests.java

License:Apache License

@Test
public void testNoDocs() throws IOException {
    AnalyzingCompletionLookupProvider provider = new AnalyzingCompletionLookupProvider(true, false, true, true);
    RAMDirectory dir = new RAMDirectory();
    IndexOutput output = dir.createOutput("foo.txt", IOContext.DEFAULT);
    FieldsConsumer consumer = provider.consumer(output);
    consumer.write(new Fields() {
        @Override/*from   ww  w .  j a va 2 s .co m*/
        public Iterator<String> iterator() {
            return Arrays.asList("foo").iterator();
        }

        @Override
        public Terms terms(String field) throws IOException {
            return null;
        }

        @Override
        public int size() {
            return 1;
        }
    });
    consumer.close();
    output.close();

    IndexInput input = dir.openInput("foo.txt", IOContext.DEFAULT);
    LookupFactory load = provider.load(input);
    CompletionFieldMapper.CompletionFieldType fieldType = FIELD_TYPE.clone();
    fieldType.setProvider(provider);
    assertNull(load.getLookup(fieldType, new CompletionSuggestionContext(null)));
    dir.close();
}

From source file:org.elasticsearch.search.suggest.completion.CompletionPostingsFormatTests.java

License:Apache License

private void writeData(Directory dir, Completion090PostingsFormat.CompletionLookupProvider provider)
        throws IOException {
    IndexOutput output = dir.createOutput("foo.txt", IOContext.DEFAULT);
    FieldsConsumer consumer = provider.consumer(output);
    final List<TermPosAndPayload> terms = new ArrayList<>();
    terms.add(new TermPosAndPayload("foofightersgenerator", 256 - 2,
            provider.buildPayload(new BytesRef("Generator - Foo Fighters"), 9, new BytesRef("id:10"))));
    terms.add(new TermPosAndPayload("generator", 256 - 1,
            provider.buildPayload(new BytesRef("Generator - Foo Fighters"), 9, new BytesRef("id:10"))));
    Fields fields = new Fields() {
        @Override// w  ww.ja  v  a 2 s .  c  o  m
        public Iterator<String> iterator() {
            return Arrays.asList("foo").iterator();
        }

        @Override
        public Terms terms(String field) throws IOException {
            if (field.equals("foo")) {
                return new Terms() {
                    @Override
                    public TermsEnum iterator() throws IOException {
                        final Iterator<TermPosAndPayload> iterator = terms.iterator();
                        return new TermsEnum() {
                            private TermPosAndPayload current = null;

                            @Override
                            public SeekStatus seekCeil(BytesRef text) throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public void seekExact(long ord) throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public BytesRef term() throws IOException {
                                return current == null ? null : current.term;
                            }

                            @Override
                            public long ord() throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public int docFreq() throws IOException {
                                return current == null ? 0 : 1;
                            }

                            @Override
                            public long totalTermFreq() throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public PostingsEnum postings(PostingsEnum reuse, int flags) throws IOException {
                                final TermPosAndPayload data = current;
                                return new PostingsEnum() {
                                    boolean done = false;

                                    @Override
                                    public int nextPosition() throws IOException {
                                        return data.pos;
                                    }

                                    @Override
                                    public int startOffset() throws IOException {
                                        return 0;
                                    }

                                    @Override
                                    public int endOffset() throws IOException {
                                        return 0;
                                    }

                                    @Override
                                    public BytesRef getPayload() throws IOException {
                                        return data.payload;
                                    }

                                    @Override
                                    public int freq() throws IOException {
                                        return 1;
                                    }

                                    @Override
                                    public int docID() {
                                        if (done) {
                                            return NO_MORE_DOCS;
                                        }
                                        return 0;
                                    }

                                    @Override
                                    public int nextDoc() throws IOException {
                                        if (done) {
                                            return NO_MORE_DOCS;
                                        }
                                        done = true;
                                        return 0;
                                    }

                                    @Override
                                    public int advance(int target) throws IOException {
                                        if (done) {
                                            return NO_MORE_DOCS;
                                        }
                                        done = true;
                                        return 0;
                                    }

                                    @Override
                                    public long cost() {
                                        return 0;
                                    }
                                };
                            }

                            @Override
                            public BytesRef next() throws IOException {
                                if (iterator.hasNext()) {
                                    current = iterator.next();
                                    return current.term;
                                }
                                current = null;
                                return null;
                            }
                        };
                    }

                    @Override
                    public long size() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public long getSumTotalTermFreq() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public long getSumDocFreq() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public int getDocCount() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasFreqs() {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasOffsets() {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasPositions() {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasPayloads() {
                        throw new UnsupportedOperationException();
                    }
                };
            }
            return null;
        }

        @Override
        public int size() {
            return 0;
        }
    };
    consumer.write(fields);
    consumer.close();
    output.close();

}

From source file:org.elasticsearch.search.suggest.completion.old.CompletionPostingsFormatTest.java

License:Apache License

@Test
public void testNoDocs() throws IOException {
    AnalyzingCompletionLookupProvider provider = new AnalyzingCompletionLookupProvider(true, false, true, true);
    RAMDirectory dir = new RAMDirectory();
    IndexOutput output = dir.createOutput("foo.txt", IOContext.DEFAULT);
    FieldsConsumer consumer = provider.consumer(output);
    consumer.write(new Fields() {
        @Override/*ww  w .  j ava 2  s . c  o m*/
        public Iterator<String> iterator() {
            return Arrays.asList("foo").iterator();
        }

        @Override
        public Terms terms(String field) throws IOException {
            return null;
        }

        @Override
        public int size() {
            return 1;
        }
    });
    consumer.close();
    output.close();

    IndexInput input = dir.openInput("foo.txt", IOContext.DEFAULT);
    LookupFactory load = provider.load(input);
    OldCompletionFieldMapper.CompletionFieldType fieldType = FIELD_TYPE.clone();
    fieldType.setProvider(provider);
    assertNull(load.getLookup(fieldType, new CompletionSuggestionContext(null)));
    dir.close();
}

From source file:org.elasticsearch.search.suggest.completion.old.CompletionPostingsFormatTest.java

License:Apache License

private void writeData(Directory dir, Completion090PostingsFormat.CompletionLookupProvider provider)
        throws IOException {
    IndexOutput output = dir.createOutput("foo.txt", IOContext.DEFAULT);
    FieldsConsumer consumer = provider.consumer(output);
    final List<TermPosAndPayload> terms = new ArrayList<>();
    terms.add(new TermPosAndPayload("foofightersgenerator", 256 - 2,
            provider.buildPayload(new BytesRef("Generator - Foo Fighters"), 9, new BytesRef("id:10"))));
    terms.add(new TermPosAndPayload("generator", 256 - 1,
            provider.buildPayload(new BytesRef("Generator - Foo Fighters"), 9, new BytesRef("id:10"))));
    Fields fields = new Fields() {
        @Override/*  w ww  .j av  a 2  s. co  m*/
        public Iterator<String> iterator() {
            return Arrays.asList("foo").iterator();
        }

        @Override
        public Terms terms(String field) throws IOException {
            if (field.equals("foo")) {
                return new Terms() {
                    @Override
                    public TermsEnum iterator() throws IOException {
                        final Iterator<TermPosAndPayload> iterator = terms.iterator();
                        return new TermsEnum() {
                            private TermPosAndPayload current = null;

                            @Override
                            public SeekStatus seekCeil(BytesRef text) throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public void seekExact(long ord) throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public BytesRef term() throws IOException {
                                return current == null ? null : current.term;
                            }

                            @Override
                            public long ord() throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public int docFreq() throws IOException {
                                return current == null ? 0 : 1;
                            }

                            @Override
                            public long totalTermFreq() throws IOException {
                                throw new UnsupportedOperationException();
                            }

                            @Override
                            public PostingsEnum postings(Bits liveDocs, PostingsEnum reuse, int flags)
                                    throws IOException {
                                final TermPosAndPayload data = current;
                                return new PostingsEnum() {
                                    boolean done = false;

                                    @Override
                                    public int nextPosition() throws IOException {
                                        return current.pos;
                                    }

                                    @Override
                                    public int startOffset() throws IOException {
                                        return 0;
                                    }

                                    @Override
                                    public int endOffset() throws IOException {
                                        return 0;
                                    }

                                    @Override
                                    public BytesRef getPayload() throws IOException {
                                        return current.payload;
                                    }

                                    @Override
                                    public int freq() throws IOException {
                                        return 1;
                                    }

                                    @Override
                                    public int docID() {
                                        if (done) {
                                            return NO_MORE_DOCS;
                                        }
                                        return 0;
                                    }

                                    @Override
                                    public int nextDoc() throws IOException {
                                        if (done) {
                                            return NO_MORE_DOCS;
                                        }
                                        done = true;
                                        return 0;
                                    }

                                    @Override
                                    public int advance(int target) throws IOException {
                                        if (done) {
                                            return NO_MORE_DOCS;
                                        }
                                        done = true;
                                        return 0;
                                    }

                                    @Override
                                    public long cost() {
                                        return 0;
                                    }
                                };
                            }

                            @Override
                            public BytesRef next() throws IOException {
                                if (iterator.hasNext()) {
                                    current = iterator.next();
                                    return current.term;
                                }
                                current = null;
                                return null;
                            }
                        };
                    }

                    @Override
                    public long size() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public long getSumTotalTermFreq() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public long getSumDocFreq() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public int getDocCount() throws IOException {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasFreqs() {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasOffsets() {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasPositions() {
                        throw new UnsupportedOperationException();
                    }

                    @Override
                    public boolean hasPayloads() {
                        throw new UnsupportedOperationException();
                    }
                };
            }
            return null;
        }

        @Override
        public int size() {
            return 0;
        }
    };
    consumer.write(fields);
    consumer.close();
    output.close();

}

From source file:tech.beshu.ror.es.security.DocumentFieldReader.java

License:Open Source License

@Override
public Fields getTermVectors(int docID) throws IOException {
    Fields original = in.getTermVectors(docID);

    return new Fields() {
        @Override/*from ww  w .  j a  v a2s  .co m*/
        public Iterator<String> iterator() {
            return Iterators.filter(original.iterator(), s -> policy.canKeep(s));
        }

        @Override
        public Terms terms(String field) throws IOException {
            return policy.canKeep(field) ? original.terms(field) : null;
        }

        @Override
        public int size() {
            return remainingFieldsInfo.size();
        }
    };
}