[ https://issues.apache.org/jira/browse/SOLR-6602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163412#comment-14163412 ]
Andreas Hubold commented on SOLR-6602: -------------------------------------- Thank you. This really seems to be a duplicate of SOLR-3085. I made a suggestion for the documentation at https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser?focusedCommentId=47382698#comment-47382698 > dismax query does not match with additional field in qf > ------------------------------------------------------- > > Key: SOLR-6602 > URL: https://issues.apache.org/jira/browse/SOLR-6602 > Project: Solr > Issue Type: Bug > Components: query parsers > Affects Versions: 4.10 > Reporter: Andreas Hubold > > A query using the Solr dismax query parser does not match anymore after I've > added another field to the qf parameter. I'd expect that an additional field > in the qf parameter would not lead to fewer matches. > *Test setup* > A document with rather strange content in a field "name_tokenized" of type > "text_general": > {noformat} > abc_<iframe src='loadLocale.js' onload='javascript:document.XSSed="name"' > width=0 height=0> > {noformat} > can be found when using the following dismax query with qf set to field > "name_tokenized" only: > {noformat} > http://localhost:44080/solr/studio/editor?deftype=dismax&q=abc_%3Ciframe+src%3D%27loadLocale.js%27+onload%3D%27javascript%3Adocument.XSSed%3D%22name%22%27&debug=true&echoParams=all&qf=name_tokenized^2 > {noformat} > When submitting exactly the same query but with an additional field > "feederstate" of type "string" in the qf parameter, I don't get any results. > {noformat} > http://localhost:44080/solr/studio/editor?deftype=dismax&q=abc_%3Ciframe+src%3D%27loadLocale.js%27+onload%3D%27javascript%3Adocument.XSSed%3D%22name%22%27&debug=true&echoParams=all&qf=name_tokenized^2%20feederstate > {noformat} > The decoded value of q is: {noformat}abc_<iframe src='loadLocale.js' > onload='javascript:document.XSSed="name"'{noformat} and it seems the trailing > single-quote causes problems here. (In fact, I can find the document when I > remove the last char) > The parsed query for the latter case is > {noformat} > ( > +(( > DisjunctionMaxQuery((feederstate:abc_<iframe | ((name_tokenized:abc_ > name_tokenized:iframe)^2.0))~0.1) > DisjunctionMaxQuery((feederstate:src='loadLocale.js' | > ((name_tokenized:src name_tokenized:loadlocale.js)^2.0))~0.1) > DisjunctionMaxQuery((feederstate:onload='javascript:document.XSSed= | > ((name_tokenized:onload name_tokenized:javascript:document.xssed)^2.0))~0.1) > DisjunctionMaxQuery((feederstate:name | name_tokenized:name^2.0)~0.1) > DisjunctionMaxQuery((feederstate:')~0.1) > )~5) > DisjunctionMaxQuery((textbody:"abc_ iframe src loadlocale.js onload > javascript:document.xssed name" | name_tokenized:"abc_ iframe src > loadlocale.js onload javascript:document.xssed name"^2.0)~0.1) > )/no_coord > {noformat} > I've configured the called search handler with {{<str name="mm">100%</str>}} > so that all of the 5 dismax queries at the top must match. But this one does > not match: {{DisjunctionMaxQuery((feederstate:')~0.1)}} > (All mentioned field types are taken from the example schema.xml.) -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org