我正在尝试更新solr文档中的特定字段。为了测试目的,我使用了author字段。之后,我将尝试更新日期字段。我在赛格温终端机用卷发。这是我在终端输入的命令:
curl http://localhost:8983/solr/MaharaPortfolioA/update -d '[{"url":"https://www.moopaed.de/mahara/view/view.php?id=6920","author":{"set":"Herbert"}}]'
为了检查是否成功,我使用以下命令并获得以下响应:
$ curl http://localhost:8983/solr/MaharaPortfolioA/get?id="https://www.moopaed.de/mahara/view/view.php?id=6920"
{
"doc":
{
"url":"https://www.moopaed.de/mahara/view/view.php?id=6920",
"portfolio_title":"IT 2 Portfolio - View 2",
"title":"Themenschwerpunkt Informationssysteme - moopaed mahara",
"author":"Herbert",
"indexDate":"2017-04-05T22:04:10Z",
"nrImages":8,
"nrWords":7474,
"nrUploadedImages":6,
"nrLinks":0,
"cohort":"IT3 WS 2013/2014",
"lecture":"OOP",
"nrWikipediaImages":0,
"nrWikipediaLinks":0,
"_version_":1564023239370342400}}
根据人们的反应,一切似乎都很好:作者的作品从“路易莎”变成了“赫伯特”。但是,如果我使用一个查询--搜索"Herbert“--我就得不到结果(http://localhost:8983/solr/MaharaPortfolioA/select?q=Herbert)。在我寻找解决方案的过程中,我发现了造成这个问题的不同原因:
我不知道为什么我对“赫伯特”的搜索没有给我任何回应。
提前感谢
发布于 2017-04-09 02:24:42
实际上,您并不是在搜索author字段:q=author:Herbert
将是查询作者的标准Lucene语法。当您使用q=Herbert
时,搜索将转到默认的搜索字段,该字段可能不是作者(但通常是text
)。
如果使用edismax
或dismax
查询解析器,可以使用qf=author text
搜索text
和author
字段,还可以使用qf=author^5 text
对author
字段中的命中给予更大的关联权重。
text
字段的默认配置可能不是stored="true"
,它将丢弃实际内容(并且只保留用于搜索的索引项)。
如果使用ExtractingRequestHandler / Apache / Solr单元索引内容,内容将添加到一个名为content
的字段中。如果该字段不存在,则删除内容。
Tika将所有提取的文本添加到content字段。
您可以使用fmap.content=<fieldname>
将内容映射到不同的字段名。
发布于 2017-04-10 05:23:48
https://stackoverflow.com/questions/43279042
复制相似问题