簡體   English   中英

DSpace 7 - 向現有項目添加新元數據字段時沒有建議

[英]DSpace 7 - No suggestions when adding a new metadata field to an existing item

在 DSpace 7.4 中,在向現有項目添加新元數據時,我在輸入框中沒有收到任何建議,是否缺少任何配置步驟?

我可以在這里的官方演示網站上看到它的工作

當我在輸入框中鍵入內容時,我在dspace.log中看到有這個 API 調用:

GET /server/api/core/metadatafields/search/byFieldName 

所以我嘗試了這個但沒有結果:/server/#api/core/metadatafields/search/byFieldName?query=author DSpace 7 演示站點中的相同 API 調用返回 3 個結果: https://api7.dspace.org/server /#api/core/metadatafields/search/byFieldName?query=author

此外,在solr.log中,我看到了這個調用,它沒有返回任何匹配項:

2023-01-11 13:09:55.709 INFO (qtp359742806-22) [ x:search] o.a.s.c.S.Request [search] webapp=/solr path=/select params={q=*:*&fl=search.resourcetype,search.resourceid,search.uniqueid,database_status&start=0&fq=fieldName_keyword:author*&fq=&wt=javabin&version=2} hits=0 status=0 QTime=1

也許 SOLR 有問題?

由於它似乎是一個 SOLR 問題,我嘗試像這樣重新索引: dspace index-discovery -b ,因此出現此錯誤:

java.lang.NullPointerException: Cannot invoke "org.dspace.eperson.EPerson.getID()" because the return value of "org.dspace.authorize.ResourcePolicy.getEPerson()" is null
        at org.dspace.discovery.SolrServiceResourceRestrictionPlugin.additionalIndex(SolrServiceResourceRestrictionPlugin.java:95)
        at org.dspace.discovery.indexobject.IndexFactoryImpl.buildDocument(IndexFactoryImpl.java:67)
        at org.dspace.discovery.indexobject.InprogressSubmissionIndexFactoryImpl.buildDocument(InprogressSubmissionIndexFactoryImpl.java:46)
        at org.dspace.discovery.indexobject.WorkspaceItemIndexFactoryImpl.buildDocument(WorkspaceItemIndexFactoryImpl.java:63)
        at org.dspace.discovery.indexobject.WorkspaceItemIndexFactoryImpl.buildDocument(WorkspaceItemIndexFactoryImpl.java:30)
        at org.dspace.discovery.SolrServiceImpl.update(SolrServiceImpl.java:165)
        at org.dspace.discovery.SolrServiceImpl.indexContent(SolrServiceImpl.java:155)
        at org.dspace.discovery.SolrServiceImpl.updateIndex(SolrServiceImpl.java:340)
        at org.dspace.discovery.SolrServiceImpl.updateIndex(SolrServiceImpl.java:327)
        at org.dspace.discovery.IndexClient.internalRun(IndexClient.java:130)
        at org.dspace.scripts.DSpaceRunnable.run(DSpaceRunnable.java:104)
        at org.dspace.app.launcher.ScriptLauncher.executeScript(ScriptLauncher.java:149)
        at org.dspace.app.launcher.ScriptLauncher.handleScript(ScriptLauncher.java:131)
        at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:98)

並在此處找到解決方案: https://groups.google.com/g/dspace-tech/c/ioukme4el9o

警告:建議首先在開發環境中對此進行測試。

問題是resourcepolicy表中有幾行沒有eperson_idepersongroup_id 所以,我用delete from resourcepolicy where eperson_id is null and epersongroup_id is null; 並重新編制索引: dspace index-discovery -b

注意:只要數據庫來自以前 DSpace 版本的轉儲,似乎就會出現此問題。 在我的例子中,我從 5.6 版本恢復了轉儲並將其遷移到 7.4,然后才遇到這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM