Add a fineName field to index the attchment fileName
This commit is contained in:
parent
911fa246d0
commit
d9a822dba8
|
@ -72,6 +72,8 @@ public class AttachmentMapper implements Mapper {
|
||||||
private StringFieldMapper.Builder contentBuilder;
|
private StringFieldMapper.Builder contentBuilder;
|
||||||
|
|
||||||
private StringFieldMapper.Builder titleBuilder = stringField("title");
|
private StringFieldMapper.Builder titleBuilder = stringField("title");
|
||||||
|
|
||||||
|
private StringFieldMapper.Builder fileNameBuilder = stringField("fileName");
|
||||||
|
|
||||||
private StringFieldMapper.Builder authorBuilder = stringField("author");
|
private StringFieldMapper.Builder authorBuilder = stringField("author");
|
||||||
|
|
||||||
|
@ -116,6 +118,11 @@ public class AttachmentMapper implements Mapper {
|
||||||
this.titleBuilder = title;
|
this.titleBuilder = title;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Builder fileName(StringFieldMapper.Builder fileName) {
|
||||||
|
this.fileNameBuilder = fileName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public Builder keywords(StringFieldMapper.Builder keywords) {
|
public Builder keywords(StringFieldMapper.Builder keywords) {
|
||||||
this.keywordsBuilder = keywords;
|
this.keywordsBuilder = keywords;
|
||||||
|
@ -140,6 +147,7 @@ public class AttachmentMapper implements Mapper {
|
||||||
DateFieldMapper dateMapper = dateBuilder.build(context);
|
DateFieldMapper dateMapper = dateBuilder.build(context);
|
||||||
StringFieldMapper authorMapper = authorBuilder.build(context);
|
StringFieldMapper authorMapper = authorBuilder.build(context);
|
||||||
StringFieldMapper titleMapper = titleBuilder.build(context);
|
StringFieldMapper titleMapper = titleBuilder.build(context);
|
||||||
|
StringFieldMapper fileNameMapper = fileNameBuilder.build(context);
|
||||||
StringFieldMapper keywordsMapper = keywordsBuilder.build(context);
|
StringFieldMapper keywordsMapper = keywordsBuilder.build(context);
|
||||||
StringFieldMapper contentTypeMapper = contentTypeBuilder.build(context);
|
StringFieldMapper contentTypeMapper = contentTypeBuilder.build(context);
|
||||||
context.path().remove();
|
context.path().remove();
|
||||||
|
@ -153,7 +161,7 @@ public class AttachmentMapper implements Mapper {
|
||||||
defaultIndexedChars = 100000;
|
defaultIndexedChars = 100000;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new AttachmentMapper(name, pathType, defaultIndexedChars, contentMapper, dateMapper, titleMapper, authorMapper, keywordsMapper, contentTypeMapper);
|
return new AttachmentMapper(name, pathType, defaultIndexedChars, contentMapper, dateMapper, titleMapper, fileNameMapper, authorMapper, keywordsMapper, contentTypeMapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,6 +206,8 @@ public class AttachmentMapper implements Mapper {
|
||||||
builder.date((DateFieldMapper.Builder) parserContext.typeParser("date").parse("date", (Map<String, Object>) propNode, parserContext));
|
builder.date((DateFieldMapper.Builder) parserContext.typeParser("date").parse("date", (Map<String, Object>) propNode, parserContext));
|
||||||
} else if ("title".equals(propName)) {
|
} else if ("title".equals(propName)) {
|
||||||
builder.title((StringFieldMapper.Builder) parserContext.typeParser("string").parse("title", (Map<String, Object>) propNode, parserContext));
|
builder.title((StringFieldMapper.Builder) parserContext.typeParser("string").parse("title", (Map<String, Object>) propNode, parserContext));
|
||||||
|
} else if ("fileName".equals(propName)) {
|
||||||
|
builder.fileName((StringFieldMapper.Builder) parserContext.typeParser("string").parse("fileName", (Map<String, Object>) propNode, parserContext));
|
||||||
} else if ("author".equals(propName)) {
|
} else if ("author".equals(propName)) {
|
||||||
builder.author((StringFieldMapper.Builder) parserContext.typeParser("string").parse("author", (Map<String, Object>) propNode, parserContext));
|
builder.author((StringFieldMapper.Builder) parserContext.typeParser("string").parse("author", (Map<String, Object>) propNode, parserContext));
|
||||||
} else if ("keywords".equals(propName)) {
|
} else if ("keywords".equals(propName)) {
|
||||||
|
@ -226,13 +236,15 @@ public class AttachmentMapper implements Mapper {
|
||||||
private final StringFieldMapper authorMapper;
|
private final StringFieldMapper authorMapper;
|
||||||
|
|
||||||
private final StringFieldMapper titleMapper;
|
private final StringFieldMapper titleMapper;
|
||||||
|
|
||||||
|
private final StringFieldMapper fileNameMapper;
|
||||||
|
|
||||||
private final StringFieldMapper keywordsMapper;
|
private final StringFieldMapper keywordsMapper;
|
||||||
|
|
||||||
private final StringFieldMapper contentTypeMapper;
|
private final StringFieldMapper contentTypeMapper;
|
||||||
|
|
||||||
public AttachmentMapper(String name, ContentPath.Type pathType, int defaultIndexedChars, StringFieldMapper contentMapper,
|
public AttachmentMapper(String name, ContentPath.Type pathType, int defaultIndexedChars, StringFieldMapper contentMapper,
|
||||||
DateFieldMapper dateMapper, StringFieldMapper titleMapper, StringFieldMapper authorMapper,
|
DateFieldMapper dateMapper, StringFieldMapper titleMapper, StringFieldMapper fileNameMapper, StringFieldMapper authorMapper,
|
||||||
StringFieldMapper keywordsMapper, StringFieldMapper contentTypeMapper) {
|
StringFieldMapper keywordsMapper, StringFieldMapper contentTypeMapper) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.pathType = pathType;
|
this.pathType = pathType;
|
||||||
|
@ -240,6 +252,7 @@ public class AttachmentMapper implements Mapper {
|
||||||
this.contentMapper = contentMapper;
|
this.contentMapper = contentMapper;
|
||||||
this.dateMapper = dateMapper;
|
this.dateMapper = dateMapper;
|
||||||
this.titleMapper = titleMapper;
|
this.titleMapper = titleMapper;
|
||||||
|
this.fileNameMapper = fileNameMapper;
|
||||||
this.authorMapper = authorMapper;
|
this.authorMapper = authorMapper;
|
||||||
this.keywordsMapper = keywordsMapper;
|
this.keywordsMapper = keywordsMapper;
|
||||||
this.contentTypeMapper = contentTypeMapper;
|
this.contentTypeMapper = contentTypeMapper;
|
||||||
|
@ -301,6 +314,10 @@ public class AttachmentMapper implements Mapper {
|
||||||
context.externalValue(parsedContent);
|
context.externalValue(parsedContent);
|
||||||
contentMapper.parse(context);
|
contentMapper.parse(context);
|
||||||
|
|
||||||
|
|
||||||
|
context.externalValue(name);
|
||||||
|
fileNameMapper.parse(context);
|
||||||
|
|
||||||
context.externalValue(metadata.get(Metadata.DATE));
|
context.externalValue(metadata.get(Metadata.DATE));
|
||||||
dateMapper.parse(context);
|
dateMapper.parse(context);
|
||||||
|
|
||||||
|
@ -327,6 +344,7 @@ public class AttachmentMapper implements Mapper {
|
||||||
contentMapper.traverse(fieldMapperListener);
|
contentMapper.traverse(fieldMapperListener);
|
||||||
dateMapper.traverse(fieldMapperListener);
|
dateMapper.traverse(fieldMapperListener);
|
||||||
titleMapper.traverse(fieldMapperListener);
|
titleMapper.traverse(fieldMapperListener);
|
||||||
|
fileNameMapper.traverse(fieldMapperListener);
|
||||||
authorMapper.traverse(fieldMapperListener);
|
authorMapper.traverse(fieldMapperListener);
|
||||||
keywordsMapper.traverse(fieldMapperListener);
|
keywordsMapper.traverse(fieldMapperListener);
|
||||||
contentTypeMapper.traverse(fieldMapperListener);
|
contentTypeMapper.traverse(fieldMapperListener);
|
||||||
|
@ -341,6 +359,7 @@ public class AttachmentMapper implements Mapper {
|
||||||
contentMapper.close();
|
contentMapper.close();
|
||||||
dateMapper.close();
|
dateMapper.close();
|
||||||
titleMapper.close();
|
titleMapper.close();
|
||||||
|
fileNameMapper.close();
|
||||||
authorMapper.close();
|
authorMapper.close();
|
||||||
keywordsMapper.close();
|
keywordsMapper.close();
|
||||||
contentTypeMapper.close();
|
contentTypeMapper.close();
|
||||||
|
@ -356,6 +375,7 @@ public class AttachmentMapper implements Mapper {
|
||||||
contentMapper.toXContent(builder, params);
|
contentMapper.toXContent(builder, params);
|
||||||
authorMapper.toXContent(builder, params);
|
authorMapper.toXContent(builder, params);
|
||||||
titleMapper.toXContent(builder, params);
|
titleMapper.toXContent(builder, params);
|
||||||
|
fileNameMapper.toXContent(builder, params);
|
||||||
dateMapper.toXContent(builder, params);
|
dateMapper.toXContent(builder, params);
|
||||||
keywordsMapper.toXContent(builder, params);
|
keywordsMapper.toXContent(builder, params);
|
||||||
contentTypeMapper.toXContent(builder, params);
|
contentTypeMapper.toXContent(builder, params);
|
||||||
|
|
Loading…
Reference in New Issue