On 5/9/2018 12:56 PM, root23 wrote: > Thanks for the explanation shawn. I will look at our autowarming time. > Looking at your response i am thinking i might be doing few more things > wrong > 1. Does Must clause with any of the filter query makes any sense or is > automatically implied. > e.g if i want all the docs with firstName:michael and lastname:jordan, > which of the following queries makes sense or both are equivalent > a) q=*:*&fq=name:michael&fq=lastname:jordan > b) q=*:*&fq=+name:michael&fq=+lastname:jordan
Because both of those filters you're using are single-clause, query a and query b should produce identical results. In that situation, the + is not necessary. If you had this instead, which is a two-clause query, you probably want to use + markers: q=*:*&fq=name:michael lastname:jordan Depending on what the default operator (q.op) is, of course. If you use q.op=AND, then adding the + markers would be handled automatically for all clauses that do not explicitly use OR. > 2.Does Must clause also implied with the join query. so in the following > query i am joining between 2 cores, on field:id. It should filter first from > the index "search" where title is full and then join on id and then only get > the docs which also has status set to monitor. > > a ) q=*:*&fq=+{!join from=id to=id fromIndex=search > force=true}title:full&fq=+status:monitor > > b) q=*:*&fq={!join from=id to=id fromIndex=search > force=true}title:full&fq=status:monitor > > so of the above which one is accurate a) or b) I have absolutely zero experience with joins in Solr. That said, query a has something (a plus sign) before the "{!join" ... which might cause Solr to *not* interpret the query as a join. The localparams syntax normally must be the very first thing in a query string. The actual query "title:full" is a single clause query, so it should not need the +. Thanks, Shawn