| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| 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. |
| --> |
| <FilteredQuery> |
| <Query> |
| <BooleanQuery fieldName="contents"> |
| <Clause occurs="should"> |
| <TermQuery>merger</TermQuery> |
| </Clause> |
| <Clause occurs="mustnot"> |
| <TermQuery >sumitomo</TermQuery> |
| </Clause> |
| </BooleanQuery> |
| </Query> |
| |
| <Filter> |
| <!-- |
| CachedFilter elements can contain any Query or Filter. |
| CachedFilters are cached in an LRU Cache keyed on the contained query/filter object. |
| Using this will speed up overall performance for repeated uses of the same expensive |
| query/filter. The sorts of queries likely to benefit from caching need not necessarily be |
| complex - e.g. simple TermQuerys with a large DF (document frequency) can be expensive |
| on large indexes. A good example of this might be a term query on a field with only 2 possible |
| values - "true" or "false". In a large index, querying or filtering on this field requires |
| reading millions of document ids from disk which can more usefully be cached as a |
| QueryFilter bitset. |
| |
| For Queries/Filters to be cached and reused the object must implement hashcode and |
| equals methods correctly so that duplicate queries/filters can be detected in the cache. |
| |
| The CoreParser.maxNumCachedFilters property can be used to control the size |
| of the LRU Cache established during the construction of CoreParser instances. |
| --> |
| <CachedFilter> |
| <!-- Example query to be cached for fast, repeated use --> |
| <TermQuery fieldName="contents">bank</TermQuery> |
| <!-- Alternatively, a filter object can be cached .... |
| <RangeFilter fieldName="date" lowerTerm="19870409" upperTerm="19870412"/> |
| --> |
| </CachedFilter> |
| </Filter> |
| |
| </FilteredQuery> |