Hi, so this is only available in 1.5?

I tried in 1.4 and got :

org.apache.solr.common.SolrException: Error loading class 'solr.CollationKeyFilterFactory'

Is there a way to do this in 1.4?

The link Shalin sent is a 1.5 link I think.

thanks
Joel

On Dec 25, 2009, at 10:52 PM, Robert Muir wrote:

Hello, as Shalin said, you might want to try CollationKeyFilterFactory.

Below is an example (using the multilingual root locale), where the
spaces will sort after the letters and numbers as you mentioned, but
it will still not be case-sensitive. This is because strength is
'secondary'.

But are you really sure you want the spaces sorted after the letters
and numbers? Or instead do you just want them ignored for sorting? If
this is the case, then try 'primary', so that spaces, punctuation,
accents and things like that in addition to case are ignored in the
sort: for example "Test-1234" and "   test1234" sort the same with
primary, but not with secondary (the one with leading spaces will sort
last)

If all else fails, you can write custom rules for it too, as Shalin mentioned.

<fieldType name="collatedROOT" class="solr.TextField">
 <analyzer>
   <tokenizer class="solr.KeywordTokenizerFactory"/>
   <filter class="solr.CollationKeyFilterFactory"
       language=""
       strength="secondary"
   />
 </analyzer>
</fieldType>

On Fri, Dec 25, 2009 at 5:37 AM, Shalin Shekhar Mangar
<shalinman...@gmail.com> wrote:

On Thu, Dec 24, 2009 at 11:51 PM, Joel Nylund <jnyl...@yahoo.com> wrote:

update, I tried changing to datatype string, and it sorts the numerics
better, but the other sorts are not as good.

Is there a way to control sorting for special chars, for example, I want
blanks to sort after letters and numbers.


In the general case, CollationKeyFilterFactory will do the trick. You could create a custom rule set which sorts spaces after letters and numbers. See
http://wiki.apache.org/solr/UnicodeCollation


using alphaOnlySort - sorts nicely for alpha, but numbers dont work
string - sorts nicely for numbers and letters, but special chars like
blanks show up first in the list


alphaOnlySort has a PatternReplaceFilterFactory which removes all characters except a-z. This is the reason behind those wierd results. You could try
removing that filter and see if thats what you need.

--
Regards,
Shalin Shekhar Mangar.



--
Robert Muir
rcm...@gmail.com

Reply via email to