【发布时间】:2015-10-15 14:52:38
【问题描述】:
是否可以在 Apache Jena 中搜索多个字段:
例如,这可以正常工作:
?subject text:query (skos:prefLabel 'a*' 25);
但是如何在 2 个字段中使用 OR 进行搜索,例如在 prefLabel 或 altLabel 中。
?subject text:query (skos:prefLabel 'a*' OR skos:altLabel 'a*' 25);
我的实体图是:
<#entMap> a text:EntityMap ;
text:entityField "uri" ;
text:langField "lang" ;
text:graphField "graph" ; ## enable graph-specific indexing
text:defaultField "prefLabel" ; ## Must be defined in the text:map
text:uidField "uid" ; ## Must be defined for deletion
text:map (
# skos:prefLabel
[ text:field "prefLabel" ; text:predicate skos:prefLabel ]
# skos:altLabel
[ text:field "altLabel" ; text:predicate skos:altLabel ]
# skos:hiddenLabel
[ text:field "hiddenLabel" ; text:predicate skos:hiddenLabel ]
) .
【问题讨论】:
-
您找到答案了吗?如果有,可以分享一下吗?
-
不幸的是,当时 lucene 索引几乎被破坏了,我不确定它的当前状态是什么。我最终只是将 solr 添加到项目中并保持两者同步,这当然可能有问题,但它解决了我的问题。