Hi,
We have problems when handling for documents with large content in a single field.
We have index with mapping like this:
"mappings" : {
"dynamic" : "false",...
"properties" : {
"created" : {
"type" : "date"
},...
"systemMetadata" : {
"dynamic" : "false",
"properties" : {
"name" : {
"properties" : {
"bothStringValue" : {
"type" : "text",
"fields" : {
"ft3" : {
"type" : "text",
"analyzer" : "my_analyzer3"
},
"ft5" : {
"type" : "text",
"analyzer" : "my_analyzer5"
},...
},
"analyzer" : "my_analyzer"
}
}
},
"searchContentHTML" : {
"properties" : {
"textValue" : {
"type" : "text",
"fields" : {
"ft3" : {
"type" : "text",
"analyzer" : "my_analyzer3"
},
"ft5" : {...
},...
The problem is that inside systemMetadata.searchContentHTML
can be quite a long text (MBs) that we are basically using for fulltext search only. (Hardly to be usefull for returning to clients)
When the text is about 14MB long the getById
query (with _source_excludes=systemMetadata.searchContentHTML
parameter) takes about 130ms and when the text is small is takes 25ms.
Are there any good practices how to handle such document with Elasticsearch?