01: /*
02: * Copyright 2004-2006 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.compass.core.mapping;
18:
19: import org.compass.core.Property;
20:
21: /**
22: * A set of settings associated with the all mapping.
23: *
24: * @author kimchy
25: */
26: public interface AllMapping {
27:
28: /**
29: * Returns <code>true</code> if the "all" property will be created for the resource. The
30: * all property is a special property that have all the other resource values in it to be
31: * searchable.
32: */
33: Boolean isSupported();
34:
35: /**
36: * Should the alias be excluded from the "all" property. Default should be <code>false</code>.
37: */
38: Boolean isExcludeAlias();
39:
40: /**
41: * Returns <code>true</code> if when adding the different {@link org.compass.core.Resource} properties,
42: * properties with no mappings will be added to the "all" property. A resoruce can have property with no
43: * mappings if it was added programtically to the resource.
44: */
45: Boolean isIncludePropertiesWithNoMappings();
46:
47: /**
48: * Returns the name of the all property for the given resoruce.
49: */
50: String getProperty();
51:
52: /**
53: * Returns the term vector configuration for the given all proeprty.
54: */
55: Property.TermVector getTermVector();
56:
57: /**
58: * Expert:
59: * If set, omit normalization factors associated with this indexed field.
60: * This effectively disables indexing boosts and length normalization for this field.
61: */
62: Boolean isOmitNorms();
63:
64: /**
65: *
66: */
67: SpellCheckType getSpellCheck();
68:
69: /**
70: * Returns a copy of the All mapping settings.
71: */
72: AllMapping copy();
73: }
|