Apache Nutch 1.15 Solr 7.7.0 не удалось выполнить индексирование DocValuesField слишком велико, должно быть <= 32766 - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь сканировать некоторые сайты с помощью Apache Nutch 1.15 и индексирую их для поиска с помощью Solr 7.7.0, следуя этому руководству https://wiki.apache.org/nutch/NutchTutorial. Я использую cygwin64 в Windows 10.

Каждый раз, когда я запускаю команду, я получаю это сообщение (я провел какое-то исследование, и кажется, что оно не может быть решено, не так ли?), Но помимо этого оно, похоже, работает.

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by 
    org.apache.hadoop.security.authentication.util.KerberosUtil 
    (file:/C:/cygwin64/home/apache-nutch-1.15/lib/hadoop-auth-2.7.4.jar) to 
    method sun.security.krb5.Config.getInstance()
    WARNING: Please consider reporting this to the maintainers of 
    org.apache.hadoop.security.authentication.util.KerberosUtil
    WARNING: Use --illegal-access=warn to enable warnings of further illegal 
    reflective access operations
    WARNING: All illegal access operations will be denied in a future 
    release

Проблема в том,что, когда я пытаюсь индексировать с помощью этой команды

$ bin/nutch solrindex crawl/crawldb crawl/linkdb crawl/segments/*

, я получаю это сообщение об ошибке:

Segment dir is complete: crawl/segments/20190218180046.
Segment dir is complete: crawl/segments/20190218180429.
Segment dir is complete: crawl/segments/20190218180720.
Segment dir is complete: crawl/segments/20190219113805.
Indexer: starting at 2019-02-19 16:18:44
Indexer: deleting gone documents: false
Indexer: URL filtering: false
Indexer: URL normalizing: false
No exchange was configured. The documents will be routed to all index 
writers.
Active IndexWriters :
SOLRIndexWriter
    type : Type of the server. Can be: "cloud", "concurrent", "http" or "lb"
    url : URL of the SOLR instance or URL of the Zookeeper quorum
    commitSize : buffer size when sending to SOLR (default 1000)
    auth : use authentication (default false)
    username : username for authentication
    password : password for authentication


Indexing 591/591 documents
Deleting 0 documents
Indexing job did not succeed, job status:FAILED, reason: NA
Indexer: java.lang.RuntimeException: Indexing job did not succeed, job 
status:FAILED, reason: NA
    at org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:152)
    at org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:235)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:244)

И в файле журнала Solr я нахожу эту ошибку:

2019-02-19 16:18:51.668 ERROR (qtp2031588185-21) [   x:nutch] 
o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: Exception 
writing document id
http://apache.org/foundation/records/minutes/2010
/board_minutes_2010_06_16.txt 
to the index; possible analysis error: DocValuesField "content_str" is too 
large, must be <= 32766
at 

org.apache.solr.update.DirectUpdateHandler2.addDoc
(DirectUpdateHandler2.java:243)
 at org.apache.solr.update.processor.RunUpdateProcessor.processAdd
 (RunUpdateProcessorFactory.java:67)
(…)
 Caused by: java.lang.IllegalArgumentException: DocValuesField "content_str" 
 is too large, must be <= 32766
 at 
 org.apache.lucene.index.SortedSetDocValuesWriter.addValue
 (SortedSetDocValuesWriter.java:82)
 at org.apache.lucene.index.DefaultIndexingChain.indexDocValue
 (DefaultIndexingChain.java:616)
 at org.apache.solr.update.DirectUpdateHandler2.addDoc
 (DirectUpdateHandler2.java:235)
 ... 71 more

 2019-02-19 16:19:06.612 INFO  (commitScheduler-13-thread-5) [   ] 
o.a.s.u.DirectUpdateHandler2 start 
commit{,optimize=false,openSearcher=false,waitSearcher=true,
expungeDeletes=false,softCommit=false,prepareCommit=false}
2019-02-19 16:19:06.612 INFO  (commitScheduler-13-thread-5) [   ] 
o.a.s.u.SolrIndexWriter Calling setCommitData with 
IW:org.apache.solr.update.SolrIndexWriter@2d18ed13 commitCommandVersion:0
2019-02-19 16:19:06.671 INFO  (commitScheduler-13-thread-5) [   ] 
o.a.s.s.SolrIndexSearcher Opening [Searcher@28296264[nutch] realtime]
2019-02-19 16:19:06.676 INFO  (commitScheduler-13-thread-5) [   ] 
o.a.s.u.DirectUpdateHandler2 end_commit_flush

Я не могу найти решение этой проблемы.Кто-то может мне помочь?Дайте мне знать, если вам нужна дополнительная информация.

Спасибо

1 Ответ

0 голосов
/ 21 февраля 2019

Эта ошибка не исходит от Nutch, но выдается на стороне Solr.Что более подозрительно, так это то, что поле content_str не предоставлено непосредственно Nutch.Попробуйте установить docValues на false в fieldType или field.Значения документов обеспечивают определенные преимущества, но хранение большого объема данных (например, 32 КБ) будет иметь некоторое негативное влияние на производительность в долгосрочной перспективе.Вместо этого вы должны использовать сохраненное поле.Или измените тип этого поля для токенизации.

Более подробную информацию о значениях документа можно найти здесь .

...