string q = "m";
Query query = new QueryParser("company", new StandardAnalyzer()).Parse(q+"*");
クエリは prefixQuery :company:a* になります
それでも、「フリート アフリカ」のような結果が得られます。この場合、A が最初にないことが明らかであり、望ましくない結果が得られます。
Query query = new TermQuery(new Term("company", q+"*"));
query は termQuery :company:a* になり、結果は返されません。おそらく、クエリを完全一致として解釈し、私の値が「a *」リテラルではないためです。
Query query = new WildcardQuery(new Term("company", q+"*"));
prefixquery と同じ結果を返します。
私は何を間違っていますか?