Adding attributes to IndexFieldType

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Adding attributes to IndexFieldType

Murali Krishna
Today, we can write a custom Field using custom IndexFieldType, but when the DefaultIndexingChain converts IndexFieldType to FieldInfo, only few key informations such as indexing options and doc value type are retained. The Codec gets the FieldInfo, but not the type details.

FieldInfo has support for 'attributes' and it would be great if we can add 'attributes' to IndexFieldType also and copy it to FieldInfo's 'attribute'. If we can at-least add the 'field type' to the FieldInfo attribute, that should suffice, but I felt adding attributes to IndexFieldType would be more appropriate.

This would allow someone to write a custom codec (extending docvalueformat for example) for only the 'special field' that he wants and delegate the rest of the fields to the default codec. Let me know if there are other alternatives or if I should create an issue for this.

Thanks,
Murali

Reply | Threaded
Open this post in threaded view
|

Re: Adding attributes to IndexFieldType

Michael McCandless-2
Hi Murali,

I agree it'd be nice if there were a way to carry over attributes from an IndexFieldType into the FieldInfo.  It'd need to have a way to resolve differences/conflicts, since many IndexFieldType instances are indexed for a single FieldInfo.

Lacking this, it seems like you'd have to hard code your Codec based on field name or based on other attributes (e.g. all numeric fields are handled one way).

Can you open an issue to discuss/iterate further?

Thanks,


On Wed, Dec 5, 2018 at 8:11 AM Murali Krishna <[hidden email]> wrote:
Today, we can write a custom Field using custom IndexFieldType, but when the DefaultIndexingChain converts IndexFieldType to FieldInfo, only few key informations such as indexing options and doc value type are retained. The Codec gets the FieldInfo, but not the type details.

FieldInfo has support for 'attributes' and it would be great if we can add 'attributes' to IndexFieldType also and copy it to FieldInfo's 'attribute'. If we can at-least add the 'field type' to the FieldInfo attribute, that should suffice, but I felt adding attributes to IndexFieldType would be more appropriate.

This would allow someone to write a custom codec (extending docvalueformat for example) for only the 'special field' that he wants and delegate the rest of the fields to the default codec. Let me know if there are other alternatives or if I should create an issue for this.

Thanks,
Murali