Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用/SOLR/update编制索引时增强SOLR文档_Solr_Apache Tika_Solr Cell - Fatal编程技术网

如何在使用/SOLR/update编制索引时增强SOLR文档

如何在使用/SOLR/update编制索引时增强SOLR文档,solr,apache-tika,solr-cell,Solr,Apache Tika,Solr Cell,为了索引我的网站,我有一个Ruby脚本,它反过来生成一个shell脚本,将文档根目录中的每个文件上传到Solr。shell脚本有许多行,如下所示: curl -s \ "http://localhost:8983/solr/update/extract?literal.id=/about/core-team/&commit=false" \ -F "myfile=@/extra/www/docroot/about/core-team/index.html" …并以以下内容结束:

为了索引我的网站,我有一个Ruby脚本,它反过来生成一个shell脚本,将文档根目录中的每个文件上传到Solr。shell脚本有许多行,如下所示:

  curl -s \
 "http://localhost:8983/solr/update/extract?literal.id=/about/core-team/&commit=false" \
 -F "myfile=@/extra/www/docroot/about/core-team/index.html"
…并以以下内容结束:

curl -s http://localhost:8983/solr/update --data-binary \
'<commit/>' -H 'Content-type:text/xml; charset=utf-8'
向http请求添加索引时间提升的最简单方法是什么

我试过:

curl -s \
 "http://localhost:8983/solr/update/extract?literal.id=/verycool/core-team/&commit=false" \
 -F "myfile=@/extra/www/docroot/verycool/core-team/index.html" \
 -F boost=3
以及:

两者都没有改变搜索结果的顺序。我想要的是,无论用户搜索的内容是什么(当然前提是文档包含他们的查询),增强后的结果在搜索结果中都排在第一位

我知道如果我以XML格式发布,我可以为整个文档或特定字段指定boost值。但是如果我这样做,就不清楚如何将文件指定为文档内容。实际上,提供了一个部分示例:

curl "http://localhost:8983/solr/update/extract?literal.id=doc5&defaultField=text" \
--data-binary @tutorial.html -H 'Content-type:text/html'
但仍然不清楚在何处/如何指定我的提升。我试过:

curl \ 
"http://localhost:8983/solr/update/extract?literal.id=mydocid&defaultField=text&boost=3"\
--data-binary @mydoc.html -H 'Content-type:text/html'

两者都没有改变搜索结果

有没有一种方法可以在不改变文档内容的情况下只更新文档的boost属性(而不是特定字段)?如果是这样,我可以通过两个步骤实现我的目标: 1) 像我一直在做的那样上传/索引文档
2) 为某些文档指定boost要在Solr中为文档编制索引,必须将其发布到/update处理程序。要索引的文档放在POST请求的主体中。一般来说,您必须使用。使用该xml,您可以向特定字段或整个文档添加一个boost值。

到目前为止,我一直没有使用xml格式。如果我使用XML格式,如何上载文件(PDF或HTML)作为文档正文?对不起,我没有注意到您正在使用ExtractingHandler。。。用于在字段上指定boost的语法是正确的(boost.field=value)。但我注意到你在提升id字段。为了有效,索引时间提升应该在您要查询的字段上(请参阅)。谢谢。我终于让它做了这样的事情:
curl-s”http://localhost:8983/solr/update/extract?literal.id=/mydoc.html&commit=false&boost.text=3“-F”myfile=@mydoc.html“
我还必须更改搜索表单以显式搜索“文本”字段,tika将PDF的所有内容放在该字段中,等等。谢谢。
curl "http://localhost:8983/solr/update/extract?literal.id=doc5&defaultField=text" \
--data-binary @tutorial.html -H 'Content-type:text/html'
curl \ 
"http://localhost:8983/solr/update/extract?literal.id=mydocid&defaultField=text&boost=3"\
--data-binary @mydoc.html -H 'Content-type:text/html'
curl \ 
"http://localhost:8983/solr/update/extract?literal.id=mydocid&defaultField=text&boost.id=3"\
--data-binary @mydoc.html -H 'Content-type:text/html'