Removed attachment proves that ComplexPhraseQuery toString() is just
misguiding.

On Tue, Oct 22, 2019 at 5:51 PM Shifflett, David [USA] <
shifflett_da...@bah.com> wrote:

> 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
>
>

-- 
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