lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zac Smith (Created) (JIRA)" <>
Subject [jira] [Created] (SOLR-3127) Dismax to honor the KeywordTokenizerFactory when querying with multi word strings
Date Sun, 12 Feb 2012 08:06:59 GMT
Dismax to honor the KeywordTokenizerFactory when querying with multi word strings

                 Key: SOLR-3127
             Project: Solr
          Issue Type: Improvement
          Components: Schema and Analysis, search
    Affects Versions: 3.5
            Reporter: Zac Smith
            Priority: Minor

When using the KeywordTokenizerFactory with a multi word search string, the dismax query created
is not very useful. Although the query analzyer doesn't tokenize the search input, each word
of the input is include in the search.

e.g. if searching for 'chicken stock' the dismax query created would be:
+(DisjunctionMaxQuery((ingredient_synonyms:chicken^0.6)~0.01) DisjunctionMaxQuery((ingredient_synonyms:stock^0.6)~0.01))
DisjunctionMaxQuery((ingredient_synonyms:chicken stock^0.6)~0.01)

Note that although the query analyzer does not tokenize the term 'chicken stock' into 'chicken'
and 'stock', they are still included and required in the search term.
I think the query created should be just:
DisjunctionMaxQuery((ingredient_synonyms:chicken stock)~0.01)
(or at least not have the individual terms as should match, not must match so you could configure
with MM.

Example field type:
<fieldType name="keyword_test" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false">
	<analyzer type="index">
		<tokenizer class="solr.KeywordTokenizerFactory" />
	<analyzer type="query">
		<tokenizer class="solr.KeywordTokenizerFactory" />

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message