PREFIX : <http://www.ontotext.com/connectors/lucene#>
PREFIX inst: <http://www.ontotext.com/connectors/lucene/instance#>
SELECT * {
?search a inst:my_index ;
# Surround with double quotes to force an exact match
:query "\"http://www.ontotext.com/example/wine#Merlo\"" ;
:entities ?entity .
}
1条答案
按热度按时间py49o6xq1#
Lucene连接器将URI视为非分析字段,即作为一个字符串块,其标记不是单词,也没有标记化或作为单词进行分析。其逻辑是URI是标识符,它们只有在其整体上才有意义。URI不包含文本,即使它们有时对人们有意义。这也意味着普通的全文查询将无法在此类字段上工作。也不能提取任何片段。它们可以被搜索,但由于不是全文,它们可能会出现意外行为。
在您的特定示例中,对于“*Merlo”这样的查询,Lucene将通过分析器运行查询,以便能够匹配分析的字段(即通常用于全文搜索的字段)。通过转义大写字母,您可以防止分析器将其规范化为小写的m,并且您可以获得匹配。
如果您需要完全匹配,也可以这样做(注意,不需要转义大写字母):