: Possible ranges are numbers (1 to 1000s) but also could include appendix : page that include roman and alphabet characters (i, ii, iii, iv, as well as : a, b, c, etc). : : It makes sense people would want to search for things between page 1 to 5 : but I cannot really see how someone would search for page iv to 50. : : I was thinking to split this into two fields, one is just a string for exact : matching (maybe case insensitive) and the other as a number for ranges. This : would allow search for page ranges as well as exact matches.
Alternately: 3 fields, where each "page" only has a value in one field... numeric_pagenum ... SortableInt roman_pagenum ... SortableInt alpha_pagenum ... String where you app (or a custom subclass of SortableInt) would convert from roman numerals to integers, and whever someone does a page range search, just check of the ranges look like numbers, letters, or roman numerals, and query the appropriate field. pagenum:[i TO v] is ambigious, by as long as you translate that into... +(roman_pagenum:[1 TO 5] alpha_pagenum:[i TO v]) ...it will work correctly. sorting by page numbers is a completley differnet ball of wax. : Has anyone had experience with pages or the like in solr? Is splitting it : into two fields like this needed or can I do that with one of the standard : filters that I have missed? logic like what you describe (or what i described) isn't possible out of the box ... you'd need to do it in the client hwen sending updates, or in an UpdateProcessor plugin. -Hoss