> I have some fields that are only used for faceting, so
> they're only
> queried by facet results. No modification is needed, no
> lowercase,
> nothing. So the KeywordTokenizerFactory seems to be perfect
> for them.
You can use plain string type definition (comes in schema.xml) for that purpose.
> Alas, when the value contains spaces, I'm still getting too
> many
> results. I have a field defined like this:
>
> <fieldType name="text_unchanged"
> class="solr.StrField"
> positionIncrementGap="100">
> <analyzer>
> <tokenizer
> class="solr.KeywordTokenizerFactory"/>
> </analyzer>
> </fieldType>
>
> (Using solr.TextField didn't change anything)
>
> When quering for:
> ....&fq=label:Aces+of+London
>
> I get the result:
> .... "facet_fields":{
> "label":[
> "Aces of London",31,
> "Feud London",2,
> "Fly London",2],
> ....},
>
> I get the same result when taking "Feud London" as the
> facet value.
>
> When inspecting the index with the schema browser, I can
> see that all
> labels are tokenized correctly in complete, i.e. there's no
> token
> "London", but a token "Aces of London". So the
> KeywordTokenizer seems to
> work as expected, at least for indexing. It's only that the
> facet query
> is not narrow enough.
>
> Even the superb Solr book didn't help me here. Does anybody
> have a clue
> what I'm doing wrong here?
try using Parenthesis with queries that contain more than one term.
&fq=label:(Aces+of+London)
Otherwise <defaultSearchField></defaultSearchField> jumps in.