Hi Steven,

thanks for reporting the issue.

I tried to reproduce the problem without success.
While looking back to the conversation I found that this property could be
the reason:

 <property>
  <name>db.update.purge.404</name>
  <value>true</value>
  <description>If true, updatedb will add purge records with status DB_GONE
  from the CrawlDB.
  </description>
 </property>

The dedup job shares some code with the update job, namely the
CrawlDbFilter as mapper
which will filter away all db_gone records if db.update.purge.404 is true.
That's not really wrong (the next update job would remove the gone pages
anyway) but
should be clearly documented.

Thanks again,
Sebastian

2015-07-07 10:30 GMT+02:00 Steven Hayles <[email protected]>:

>
> Created https://issues.apache.org/jira/browse/NUTCH-2060
>
> In fact, "bin/crawl" uses "bin/nutch clean" rather than the -deleteGone
> option on "bin/nutch index".
>
> As a work around, I've added "bin/nutch clean" before "bin/nutch dedup"
>
> Steven Hayles
> Systems Analyst
>
> IT Services, University of Leicester,
> Propsect House, 94 Regent Rd, Leicester, LE1 7DA, UK
>
> T: +44 (0)116 229 7950
> E: [email protected]
>
> The Queen's Anniversary Prizes 1994, 2002 & 2013
> THE Awards Winners 2007-2013
>
> Elite without being elitist
>
> Follow us on Twitter http://twitter.com/uniofleicester or
> visit our Facebook page https://facebook.com/UniofLeicester
>
>
> On Mon, 6 Jul 2015, Sebastian Nagel wrote:
>
>  Hi Steven,
>>
>>  After dedup, https://www2.test.le.ac.uk/sh23/sleepy-zebra-page is no
>>>
>> longer present
>> That's a bug. It should be there, no question.  Could you, please, open a
>> Jira issue [1]
>>
>> The index command needs the option
>>  -deleteGone
>> to send deletions to Solr. But if the db_gone pages disappeared that has
>> no
>> effect,
>> of course :)
>>
>> Thanks,
>> Sebastian
>>
>>
>> 2015-07-06 10:07 GMT+02:00 Steven Hayles <[email protected]>:
>>
>>
>>> Hi Sebastian
>>>
>>> Thanks for your reply.
>>>
>>> I was using readdb to see what was happening. It looked like this
>>>
>>> Two pages indexed:
>>>
>>>   https://www2.test.le.ac.uk/sh23 Version: 7
>>>   Status: 2 (db_fetched)
>>>   --
>>>   https://www2.test.le.ac.uk/sh23/sleepy-zebra-page       Version: 7
>>>   Status: 2 (db_fetched)
>>>
>>> Deleted https://www2.test.le.ac.uk/sh23/sleepy-zebra-page
>>>
>>> After update, https://www2.test.le.ac.uk/sh23/sleepy-zebra-page is
>>> marked
>>> as db_gone, as expected:
>>>
>>>   https://www2.test.le.ac.uk/sh23 Version: 7
>>>   Status: 2 (db_fetched)
>>>   --
>>>   https://www2.test.le.ac.uk/sh23/sleepy-zebra-page       Version: 7
>>>   Status: 3 (db_gone)
>>>
>>> (After invert links, there was no change)
>>>
>>> After dedup, https://www2.test.le.ac.uk/sh23/sleepy-zebra-page is no
>>> longer present
>>>
>>>   https://www2.test.le.ac.uk/sh23 Version: 7
>>>   Status: 2 (db_fetched)
>>>
>>> Neither index nor clean clear 404s from Solr.
>>>
>>>
>>> I'm just using the commands as given in bin/crawl from Nutch 1.9:
>>>
>>>   $bin/nutch dedup $CRAWL_PATH/crawldb
>>>
>>>   "$bin/nutch" index -D solr.server.url=$SOLRURL "$CRAWL_PATH"/crawldb
>>> -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT
>>>
>>>
>>> When I added an extra clean before dedup, Solr got the instruction to
>>> remove the deleted document.
>>>
>>> There's nothing much in nutch-site.xml. It's mostly limits to make
>>> testing
>>> easier, static field added, metadata processing removed,
>>> db.update.purge.404 enabled.
>>>
>>> <?xml version="1.0"?>
>>> <configuration>
>>>  <property>
>>>   <name>http.agent.name</name>
>>>   <value>nutch-solr-integration</value>
>>>  </property>
>>>  <property>
>>>   <name>generate.max.per.host</name>
>>>   <value>100</value>
>>>  </property>
>>>  <property>
>>>   <name>plugin.includes</name>
>>>
>>>
>>> <value>protocol-httpclient|urlfilter-regex|index-(basic|more|static)|query-(basic|site|url|lang)|indexer-solr|nutch-extensionpoints|protocol-httpclient|urlfilter-regex|parse-(text|html|msexcel|msword|mspowerpoint|pdf)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)protocol-http|urlfilter-regex|parse-(html|tika|metatags)|index-(basic|anchor|more|static)</value>
>>>  </property>
>>>  <property>
>>>    <name>index.static</name>
>>>    <value>_indexname:sitecore_web_index,_created_by_nutch:true</value>
>>>    <description>
>>>     Used by plugin index-static to adds fields with static data at
>>> indexing time.
>>>    You can specify a comma-separated list of fieldname:fieldcontent per
>>> Nutch job.
>>>   Each fieldcontent can have multiple values separated by space, e.g.,
>>>    field1:value1.1 value1.2 value1.3,field2:value2.1 value2.2 ...
>>>    It can be useful when collections can't be created by URL patterns,
>>>   like in subcollection, but on a job-basis.
>>>   </description>
>>>  </property>
>>>  <property>
>>>   <name>http.timeout</name>
>>>   <value>5000</value>
>>>   <description>The default network timeout, in
>>> milliseconds.</description>
>>>  </property>
>>>  <property>
>>>   <name>fetcher.server.delay</name>
>>>   <value>0.1</value>
>>>   <description>The number of seconds the fetcher will delay between
>>>    successive requests to the same server. Note that this might get
>>>    overriden by a Crawl-Delay from a robots.txt and is used ONLY if
>>>    fetcher.threads.per.queue is set to 1.
>>>    </description>
>>>  </property>
>>>  <property>
>>>   <name>db.fetch.interval.default</name>
>>>   <value>60</value>
>>>   <description>The default number of seconds between re-fetches of a page
>>> (30 days).
>>>   </description>
>>>  </property>
>>>  <property>
>>>   <name>db.update.purge.404</name>
>>>   <value>true</value>
>>>   <description>If true, updatedb will add purge records with status
>>> DB_GONE
>>>   from the CrawlDB.
>>>   </description>
>>>  </property>
>>> </configuration>
>>>
>>> Steven
>>>
>>>
>>> On Sat, 4 Jul 2015, Sebastian Nagel wrote:
>>>
>>>  Hi Steven,
>>>
>>>>
>>>>  is the ordering of dedup and index wrong
>>>>
>>>>>
>>>>>  No, that's correct: it would be not really efficient to first index
>>>> duplicates
>>>> and then remove them afterwards.
>>>>
>>>> If I understand right the db_gone pages have previously been indexed
>>>> (and were successfully fetched), right?
>>>>
>>>>  but "bin/nutch dedup" removes the records entirely
>>>>
>>>>>
>>>>>  A dedup job should neither remove records entirely,
>>>> they are only set to status db_duplicate, nor should
>>>> it touch anything except db_fetched and db_notmodified.
>>>> If it does that's a bug.
>>>>
>>>> Can you send the exact commands of "nutch dedup" and "nutch index"?
>>>> Have you checked the crawldb before and after using "bin/nutch readdb"
>>>> to get some hints what's special with these urls or documents?
>>>>
>>>> Thanks,
>>>> Sebastian
>>>>
>>>>
>>>> On 07/03/2015 11:37 AM, Hayles, Steven wrote:
>>>>
>>>>  I'm using bin/crawl on Nutch 1.9 (with Solr 4.10.3)
>>>>>
>>>>> What I see is that "bin/nutch update" sets db_gone status correctly,
>>>>> but
>>>>> "bin/nutch dedup" removes the records entirely before "bin/nutch
>>>>> index" can
>>>>> tell Sol to remove them from its index.
>>>>>
>>>>> Is dedup doing more than it should, is the ordering of dedup and index
>>>>> wrong, or is there some configuration that I have wrong?
>>>>>
>>>>> Thanks
>>>>>
>>>>> Steven Hayles
>>>>> Systems Analyst
>>>>>
>>>>> IT Services, University of Leicester,
>>>>> Propsect House, 94 Regent Rd, Leicester, LE1 7DA, UK
>>>>>
>>>>> T: +44 (0)116 229 7950
>>>>> E: [email protected]<mailto:[email protected]>
>>>>>
>>>>> The Queen's Anniversary Prizes 1994, 2002 & 2013
>>>>> THE Awards Winners 2007-2013
>>>>>
>>>>> Elite without being elitist
>>>>>
>>>>> Follow us on Twitter http://twitter.com/uniofleicester or
>>>>> visit our Facebook page https://facebook.com/UniofLeicester
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>

Reply via email to