Hi,

We are working on search engine that is optimized for searching in time. 
The bases is an elasticsearch cluster with a plugin that registers our own 
type. The type we created is registered using our own type name: 
"timedterms". 

Now we try to use the built in aggregations on our own type, and 
ElasticSearch throws an exception because it cannot find any field data 
builder:

Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: failed 
to find field data builder for field annotations.md::ttxsubtitle, and type 
timedterms
    at org.elasticsearch.index.fielddata.IndexFieldDataService.getForField(
IndexFieldDataService.java:221)
    at org.elasticsearch.search.aggregations.bucket.terms.TermsParser.parse(
TermsParser.java:229)
    at org.elasticsearch.search.aggregations.AggregatorParsers.
parseAggregators(AggregatorParsers.java:114)
    at org.elasticsearch.search.aggregations.AggregatorParsers.
parseAggregators(AggregatorParsers.java:77)
    at org.elasticsearch.search.aggregations.AggregationParseElement.parse(
AggregationParseElement.java:60)
    at org.elasticsearch.search.SearchService.parseSource(SearchService.java
:622)

It seems that the index field data service needs to have our type 
registered. But, it looks like all types are hardcoded in the service and 
there is no extension point. The IndexFieldDataService checks the following 
maps, which are all immutable: "buildersByType", "docValuesBuildersByType", 
"buildersByTypeAndFormat".

How can we reuse the terms aggregation for our own type? Or do we need to 
write our own aggregation?

With kinds regards,
Geert Vos


-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/703d8eed-7129-488e-94fa-df8f1e75b3d5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to