Using Hierarchical Fields

Original question from


Each document I index has an array of categories which looks like the
following example....

/Science/Medicine/Serology/blood gas



Anyway, there's a couple things I'm trying to deal with.

1- The fact that we have an undefined array size. I can't just shove these into a single field. I could explode them into multiple fields on the fly like category_1, category_2. etc. etc

2- The fact that a search will need to be performed like "category:/Science/Medicine/*" would need to return all items within that category.


URL:, Erik Hatcher

doc.add(Field.Keyword("category", category1));

doc.add(Field.Keyword("category", category2));

doc.add(Field.Keyword("category", category/subcategory1));

doc.add(Field.Keyword("category", category/subcategory2));

Note: Be careful of the analyzer you use.

Alternate answer

URL:, Tate Avery

Could you put them all into a tab-delimited string and store that as a single field, then use a TabTokenizer on the field to search?

  • No labels