That implies that you’re using two different queryParsers, one for the “q” portion and one for the “fq” portion. My guess is that you have solrconfig /select or /query configured to use (e)dismax but your fq clause is being parsed by, the LuceneQueryParser.
You can specify the parser via local params, i.e. fq={!edismax blah blah}query terms. Add &debug=query to your input and you’ll see exactly which parsers are used for what parts of the query. Best, Erick > On Jun 25, 2019, at 11:30 AM, Wei <weiwan...@gmail.com> wrote: > > Thanks Erick for the clarification. How does the ps work for fq? I > configured ps=4 for q, it doesn't apply to fq though. For phrase queries in > fq seems ps=0 is used. Is there a way to config it for fq also? > > Best, > Wei > > On Tue, Jun 25, 2019 at 9:51 AM Erick Erickson <erickerick...@gmail.com> > wrote: > >> q and fq do _exactly_ the same thing in terms of query parsing, subject to >> all the same conditions. >> >> There are two things that apply to fq clauses that have nothing to do with >> the query _parsing_. >> 1> there is no scoring, so it’s cheaper from that perspective >> 2> the results are cached in a bitmap and can be re-used later >> >> Best, >> Erick >> >>> On Jun 24, 2019, at 7:06 PM, Wei <weiwan...@gmail.com> wrote: >>> >>> Thanks Shawn! I didn't notice the asterisks are created during >> copy/paste, >>> one lesson learned :) >>> Does that mean when fq is applied to text fields, it is doing text match >>> in the field just like q in a query field? While for string fields, it >> is >>> exact match. >>> If it is a phrase query, what are the values for relate parameters such >> as >>> ps? >>> >>> Thanks, >>> Wei >>> >>> On Mon, Jun 24, 2019 at 4:51 PM Shawn Heisey <apa...@elyograg.org> >> wrote: >>> >>>> On 6/24/2019 5:37 PM, Wei wrote: >>>>> <field name=“description” type=“*simpletext*” indexed="true" >>>> stored="true"/> >>>> >>>> I'm assuming that the asterisks here are for emphasis, that they are not >>>> actually present. This can be very confusing. It is far better to >>>> relay the precise information and not try to emphasize anything. >>>> >>>>> For query q=*:*&fq=description:”ice cream”, the filter query returns >>>>> matches for “ice cream bar” and “vanilla ice cream” , but does not >> match >>>>> for “ice cold cream”. >>>>> >>>>> The results seem neither exact match nor phrase match. What's the >>>> expected >>>>> behavior for fq on text fields? I have tried to look into the solr >> docs >>>>> but there is no clear explanation. >>>> >>>> If the quotes are present in what you actually sent to Solr, then that >>>> IS a phrase query. And that is why it did not match your third example. >>>> >>>> Try one of these instead: >>>> >>>> q=*:*&fq=description:(ice cream) >>>> >>>> q=*:*&fq=description:ice description:cream) >>>> >>>> Thanks, >>>> Shawn >>>> >> >>