Dismax to honor the KeywordTokenizerFactory when querying with multi word
strings
---------------------------------------------------------------------------------
Key: SOLR-3127
URL: https://issues.apache.org/jira/browse/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>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory" />
</analyzer>
</fieldType>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]