Using Hierarchical Fields

Original question from

URL: http://issues.apache.org/eyebrowse/ReadMsg?listName=lucene-user@jakarta.apache.org&msgNo=7507

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

/Science/Medicine/Serology/blood gas

/Biology/Fluids/Blood/

etc.

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.

Answer

URL: http://issues.apache.org/eyebrowse/ReadMsg?listId=30&msgNo=7512, 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: http://issues.apache.org/eyebrowse/ReadMsg?listName=lucene-user@jakarta.apache.org&msgNo=7508, 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