How is first_publish_date defined?

After queries start failing, do an explicit query of some of the document IDs that you think should be present and see what the first_publish_date field contains.

Also, Solr and Lucene queries are not strict Boolean, so ANDing of a purely negative term requires explicitly referring to all documents before applying the negation.

So,

AND -tag_id:268702

should be:

AND (*:* -tag_id:268702)

Or, maybe you actually wanted this:

first_publish_date:[NOW/DAY-33DAYS TO NOW/DAY-3DAYS] -tag_id:268702

-- Jack Krupansky

-----Original Message----- From: Arun Rangarajan
Sent: Friday, February 28, 2014 11:15 AM
To: solr-user@lucene.apache.org
Subject: Date query not returning results only some time

Solr server version 4.2.1

I am facing a strange issue with a date query like this:

q=first_publish_date:[NOW/DAY-33DAYS TO NOW/DAY-3DAYS] AND
-tag_id:268702&fq=(burial_score:[* TO 0.49] AND
-tag_id:286006)&rows=1&sort=random_906313237 asc&fl=id

The only process by which we add documents to the core on which this query
executes is via data import handler full import. We do indexing on master
and queries are executed against a slave.

This query returns results till the time full import starts (1 AM PST
daily). But the moment full import starts, it does not return any results.
Other queries return results.

Our auto commit settings in solrconfig have openSearcher set to false as
shown below:
<updateHandler class="solr.DirectUpdateHandler2">
<autoCommit>
<maxDocs>25000</maxDocs>
<maxTime>600000</maxTime> <!-- millis -->
<openSearcher>false</openSearcher>
</autoCommit>

   <updateLog>
     <str name="dir">${solr.updatelog.dir:}</str>
   </updateLog>
</updateHandler>

It starts returning results after the full import finishes and issues a
commit, which takes about 1.5 hrs. The pollInterval for slave is set for
every hour:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="enable">${enable.master:false}</str>
<str name="replicateAfter">startup</str>
<str name="replicateAfter">commit</str>
<str name="replicateAfter">optimize</str>
<str
name="confFiles">solrconfig.xml,data-config.xml,schema.xml,stopwords.txt,synonyms.txt,elevate.xml</str>
</lst>
<lst name="slave">
<str name="enable">${enable.slave:false}</str>
<str name="masterUrl">http://${master.ip}:${master.port}/solr/${
solr.core.name}/replication</str>
<str name="pollInterval">01:00:00</str>
</lst>
</requestHandler>

What am I doing wrong? Please let me know if you need any more details to
help me debug this.

Reply via email to