: 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

Reply via email to