I saw the changes in the diff.
But without looking into the test, I am asking to confirm if it
matches my conditions:
1) Uses a StandardAnalyzer
2) Does the actual query.toString() return lowercase J and S

David Shifflett


On 10/22/19, 10:44 AM, "Mikhail Khludnev" <m...@apache.org> wrote:

    On Tue, Oct 22, 2019 at 5:26 PM Shifflett, David [USA] <
    shifflett_da...@bah.com> wrote:
    
    > Mikhail,
    >
    > Thanks for running those tests.
    > I haven’t looked into the test, but can you confirm it uses an analyzer
    > with the lowercase filter?
    >
    Look at his diff. It's a diff on test not a test
    
    -    checkMatches("\"john smith\"", "1"); // Simple multi-term still works
    -    checkMatches("\"j*   smyth~\"", "1,2"); // wildcards and fuzzies are
    OK in
    +    checkMatches("\"John Smith\"", "1"); // Simple multi-term still works
    +    checkMatches("\"J*   Smyth~\"", "1,2"); // wildcards and fuzzies are
    OK in
    
    Here I flip to Capital letters, and it still matches what it matches before
    in lower.
    
    
    > Also can you confirm whether the actual query being used contains upper or
    > lower case J and S (in you John Smith case)
    >
    > Apologizes on the 'content:foo'.
    > I changed the code snippet to "somefield", and missed changing that part
    > of the output
    >
    > David Shifflett
    >
    >
    > On 10/22/19, 5:51 AM, "Mikhail Khludnev" <m...@apache.org> wrote:
    >
    >     Hello,
    >     I wonder how it come up with this particular field :
    >     content:foo
    >     Anyway I added some uppercase in the test and it passed despite of it
    >
    >     diff --git
    >
    > 
a/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
    >
    > 
b/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
    >     index 5935da9..9baa492 100644
    >     ---
    >
    > 
a/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
    >     +++
    >
    > 
b/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
    >     @@ -55,8 +55,8 @@
    >        boolean inOrder = true;
    >
    >        public void testComplexPhrases() throws Exception {
    >     -    checkMatches("\"john smith\"", "1"); // Simple multi-term still
    > works
    >     -    checkMatches("\"j*   smyth~\"", "1,2"); // wildcards and fuzzies
    > are
    >     OK in
    >     +    checkMatches("\"John Smith\"", "1"); // Simple multi-term still
    > works
    >     +    checkMatches("\"J*   Smyth~\"", "1,2"); // wildcards and fuzzies
    > are
    >     OK in
    >          // phrases
    >          checkMatches("\"(jo* -john)  smith\"", "2"); // boolean logic
    > works
    >          checkMatches("\"jo*  smith\"~2", "1,2,3"); // position logic
    > works.
    >     @@ -161,11 +161,11 @@
    >          checkMatches("name:\"j*   smyth~\"", "1,2");
    >          checkMatches("role:\"developer\"", "1,2");
    >          checkMatches("role:\"p* manager\"", "4");
    >     -    checkMatches("role:de*", "1,2,3");
    >     +    checkMatches("role:De*", "1,2,3");
    >          checkMatches("name:\"j* smyth~\"~5", "1,2,3");
    >          checkMatches("role:\"p* manager\" AND name:jack*", "4");
    >          checkMatches("+role:developer +name:jack*", "");
    >     -    checkMatches("name:\"john smith\"~2 AND role:designer AND id:3",
    > "3");
    >     +    checkMatches("name:\"john smith\"~2 AND role:Designer AND id:3",
    > "3");
    >        }
    >
    >        public void testToStringContainsSlop() throws Exception {
    >
    >     Problem seems a way odd (assuming CPQP does analysis), it seems like
    >     debugging is the last resort in this particular case.
    >
    >     On Mon, Oct 21, 2019 at 8:31 PM Shifflett, David [USA] <
    >     shifflett_da...@bah.com> wrote:
    >
    >     > Hi all,
    >     > Using the code snippet:
    >     >     ComplexPhraseQueryParser qp = new
    >     > ComplexPhraseQueryParser(“somefield”, new StandardAnalyzer());
    >     >     String teststr = "\"Foo Bar\"~2";
    >     >     Query queryToSearch = qp.parse(teststr);
    >     >     System.out.println("Query : " + queryToSearch.toString());
    >     >     System.out.println("Type of query : " +
    >     > queryToSearch.getClass().getSimpleName());
    >     >
    >     > I am getting the output
    >     >     Query : "Foo Bar"~2
    >     >     Type of query : ComplexPhraseQuery
    >     >
    >     > If I change teststr to "\"Foo Bar\""
    >     > I get
    >     >     Query : "Foo Bar"
    >     >     Type of query : ComplexPhraseQuery
    >     >
    >     > If I change teststr to "Foo Bar"
    >     > I get
    >     >     Query : content:foo content:bar
    >     >     Type of query : BooleanQuery
    >     >
    >     >
    >     > In the first two cases I was expecting the search terms to be
    > switched to
    >     > lowercase.
    >     >
    >     > Were the Foo and Bar left as originally specified because the terms
    > are
    >     > inside double quotes?
    >     >
    >     > How can I specify a search term that I want treated as a Phrase,
    >     > but also have the query parser apply the LowerCaseFilter?
    >     >
    >     > I am hoping to avoid the need to handle this using PhraseQuery,
    >     > and continue to use the QueryParser.
    >     >
    >     >
    >     > Thanks in advance for any help you can give me,
    >     > David Shifflett
    >     >
    >     >
    >
    >     --
    >     Sincerely yours
    >     Mikhail Khludnev
    >
    >
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
    > For additional commands, e-mail: java-user-h...@lucene.apache.org
    >
    >
    
    -- 
    Sincerely yours
    Mikhail Khludnev
    


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to