Re: Filter if Field Exists

2017-04-17 Thread Erik Hatcher
If you need to do an inner purely negative clause, it must be OR’d with *:* - queries about matching not excluding. There’s a shortcut in Solr to allow a top-level purely negative clause as convenience but when it gets nested it needs pairing explicitly. Those queries below don’t quite do what

Re: Filter if Field Exists

2017-04-17 Thread Erik Hatcher
Too many ‘+’’s in there, I think. I think the query you want is this, and let’s be precise about the query parser here too in case that’s getting in the way and split this stuff up into separate reusable clauses: ?qq=test &q_no_type=({!field f=name v=$qq} -type:*) &q_research=({!f

Re: Filter if Field Exists

2017-04-17 Thread Furkan KAMACI
@Alexandre Rafalovitch, I could define empty string => "" as default value but than I do facet on that field too. I will need to filter empty strings from facet generation logic. By the way, which one is faster: either defining empty string as default value and appending (OR type:"") to queries o

Re: Filter if Field Exists

2017-04-17 Thread Furkan KAMACI
On the other hand, that query does not do what I want. On Mon, Apr 17, 2017 at 2:18 PM, Furkan KAMACI wrote: > Btw, what is the difference between > > +name:test +(type:research (*:* -type:[* TO *])) > > and > > +name:test +(type:research -type:[* TO *]) > > On Mon, Apr 17, 2017 at 1:33 PM, Furk

Re: Filter if Field Exists

2017-04-17 Thread Furkan KAMACI
Btw, what is the difference between +name:test +(type:research (*:* -type:[* TO *])) and +name:test +(type:research -type:[* TO *]) On Mon, Apr 17, 2017 at 1:33 PM, Furkan KAMACI wrote: > Actually, amount of documents which have 'type' field is relatively too > small across all documents at i

Re: Filter if Field Exists

2017-04-17 Thread Furkan KAMACI
Actually, amount of documents which have 'type' field is relatively too small across all documents at index. On Mon, Apr 17, 2017 at 7:08 AM, Alexandre Rafalovitch wrote: > What about setting a default value for the field? That is probably > faster than negative search clauses? > > Regards, >

Re: Filter if Field Exists

2017-04-16 Thread Alexandre Rafalovitch
What about setting a default value for the field? That is probably faster than negative search clauses? Regards, Alex. http://www.solr-start.com/ - Resources for Solr users, new and experienced On 16 April 2017 at 23:58, Mikhail Khludnev wrote: > +name:test +(type:research (*:* -type:[*

Re: Filter if Field Exists

2017-04-16 Thread Mikhail Khludnev
+name:test +(type:research (*:* -type:[* TO *])) On Sun, Apr 16, 2017 at 11:47 PM, Furkan KAMACI wrote: > Hi, > > I have a schema like: > > name, > department, > type > > type is an optional field. Some documents don't have that field. Let's > assume I have these: > > Doc 1: > name: test > type: