This makes me think that perhaps I was taking the wrong tack by specifying the Fragmenter class, and that it would be better to specify the fragment length. If length <= 0 then use the NullFragmenter, otherwise use the GapFragmenter, supplying the length value to it. This has the same issue of wanting to configure it per-field.
I wonder what the default fragment size should be? Brainstorming of different ways one could specify per-field params: Query args are proliferating... at first blush, I'm liking the idea of using some "namespaces" to make it easier to keep track of them. hl.fragsize=100 #specify a highlighter fragsize default for all fields #field specific frag sizes in a style of named params for each field highlightFields=foo(fragsize:1000, highlighter=...),bar(fragsize:1000),*(fragsize:100) #probably too much syntax and too much extra parsing required. #field specific frag sizes hl.foo.fragsize=0 # field "foo" specific fragment size hl.bar.fragsize=1000 # field "bar" specific fragment size *OR* hl.fragsize.foo=0 hl.fragsize.bar=1000 *OR* hl.fragsize=foo:0,bar:1000 #I'm not sure if I like the secondary parsing needed for a format like this... #the previous formats also required some parsing to recognize the param #started with hl.fragsize and then to extract the field name. *OR* #model things as properties on fields (with f. being the field namespace) f.foo.fragsize=0 f.bar.fragsize=1000 f.*.fragsize=100 #the default I wouldn't be putting as much thought into this, but this issue will probably come up again and be applicable beyond the specification of fragment sizes. Thoughts? -Yonik