本文整理汇总了Java中org.apache.solr.schema.PreAnalyzedField.createFieldType方法的典型用法代码示例。如果您正苦于以下问题:Java PreAnalyzedField.createFieldType方法的具体用法?Java PreAnalyzedField.createFieldType怎么用?Java PreAnalyzedField.createFieldType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.solr.schema.PreAnalyzedField
的用法示例。
在下文中一共展示了PreAnalyzedField.createFieldType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: mutate
import org.apache.solr.schema.PreAnalyzedField; //导入方法依赖的package包/类
@Override
protected SolrInputField mutate(SolrInputField src) {
SchemaField sf = schema.getFieldOrNull(src.getName());
if (sf == null) { // remove this field
return null;
}
FieldType type = PreAnalyzedField.createFieldType(sf);
if (type == null) { // neither indexed nor stored - skip
return null;
}
SolrInputField res = new SolrInputField(src.getName());
res.setBoost(src.getBoost());
for (Object o : src) {
if (o == null) {
continue;
}
Field pre = (Field)parser.createField(sf, o, 1.0f);
if (pre != null) {
res.addValue(pre, 1.0f);
} else { // restore the original value
log.warn("Could not parse field {} - using original value as is: {}", src.getName(), o);
res.addValue(o, 1.0f);
}
}
return res;
}
示例2: handleIndexableField
import org.apache.solr.schema.PreAnalyzedField; //导入方法依赖的package包/类
private IndexableField handleIndexableField(SchemaField field, String source, String target, float boost) {
if (StringUtils.isEmpty(source) || StringUtils.isEmpty(target)) {
return null;
}
FieldType fieldType = PreAnalyzedField.createFieldType(field);
if (null == fieldType) {
return null;
}
Field indexableField = null;
if (field.stored()) {
indexableField = new Field(field.getName(), target, fieldType);
}
if (field.indexed()) {
TokenStream tokenStream = ((MultiLangAnalyzer) this.getAnalyzer()).createComponents(field.getName(),
new StringReader(source)).getTokenStream();
if (null != indexableField) {
indexableField.setTokenStream(tokenStream);
} else {
indexableField = new Field(field.getName(), tokenStream, fieldType);
}
}
if (null != indexableField) {
indexableField.setBoost(boost);
}
return indexableField;
}