[
https://issues.apache.org/jira/browse/SOLR-12243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16571896#comment-16571896
]
David Smiley commented on SOLR-12243:
-------------------------------------
{quote}About the test in Solr: I am not happy with the test that prints out the
query as string and compares it with an expected string representation. This
relies on the exact output of toString() which is not standardized in Lucene
and might change.
{quote}
It's a trade-off for sure. I prefer this style as I find it easy to read.
I've seen tests that break out each object of the Query and do a bunch of
comparisons (sometimes declaring intermediate variables) and my eyes just gloss
over reading it. If the toString changes (and we don't take those changes
lightly), then it's pretty safe to blindly update such test strings since a
change to the toString() ought not to be making other changes to query
structure. Conceptually this argument can be had about other things like the
structure of a SolrDocument (compare toString vs compare part by part) or
Highlighting snippet as well – same tradeoffs in test assertion methodology.
> Edismax missing phrase queries when phrases contain multiterm synonyms
> ----------------------------------------------------------------------
>
> Key: SOLR-12243
> URL: https://issues.apache.org/jira/browse/SOLR-12243
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: query parsers
> Affects Versions: 7.1
> Environment: RHEL, MacOS X
> Do not believe this is environment-specific.
> Reporter: Elizabeth Haubert
> Assignee: Uwe Schindler
> Priority: Major
> Attachments: SOLR-12243.patch, SOLR-12243.patch, SOLR-12243.patch,
> SOLR-12243.patch
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> synonyms.txt:
> allergic, hypersensitive
> aspirin, acetylsalicylic acid
> dog, canine, canis familiris, k 9
> rat, rattus
> request handler:
> <requestHandler name="/test_qparse_error" class="solr.SearchHandler">
> <lst name="defaults">
> <!-- Query settings -->
> <str name="defType">edismax</str>
> <str name="tie"> 0.4</str>
> <str name="qf">title^100</str>
> <str name="pf">title~20^5000</str>
> <str name="pf2">title~11</str>
> <str name="pf3">title~22^1000</str>
> <str name="df">text</str>
> <!-- mm If two or fewer clauses exist, they all must match.
> If three to five clauses exist, one can be missing. If six to eight clauses
> exist, all but three must match.
> If more than nine clauses exist, only require 30% to match.-->
> <str name="mm">3<-1 6<-3 9<30%</str>
> <str name="q.alt">*:*</str>
> <str name="rows">25</str>
> </lst>
> </requestHandler>
> Phrase queries (pf, pf2, pf3) containing "dog" or "aspirin" against the
> above list will not be generated.
> "allergic reaction dog" will generate pf2: "allergic reaction", but not
> pf:"allergic reaction dog", pf2: "reaction dog", or pf3: "allergic reaction
> dog"
> "aspirin dose in rats" will generate pf3: "dose ? rats" but not pf2: "aspirin
> dose" or pf3:"aspirin dose ?"
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]