[
https://issues.apache.org/jira/browse/JENA-1121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15114970#comment-15114970
]
Osma Suominen commented on JENA-1121:
-------------------------------------
> This can be slight confusing but the text index is not reference counted for
> the data loaded so deletes do not go to the index.
This is not always true anymore. Jena 3.0 (Fuseki 2.3.0) brought deletion
support for the text index. This requires that the {{uidField}} setting is used
in the text index configuration and only applies for new text indexes created
using that option. See
https://jena.apache.org/documentation/query/text-query.html#deletion-of-indexed-entities
> Performance regression in Jena 3.0.1 / Fuseki 2.3.1
> ---------------------------------------------------
>
> Key: JENA-1121
> URL: https://issues.apache.org/jira/browse/JENA-1121
> Project: Apache Jena
> Issue Type: Bug
> Components: Jena
> Affects Versions: Jena 3.0.1, Fuseki 2.3.1, Jena 3.1.0, Fuseki 2.4.0
> Environment: Mac OS X 10.10.5, iMac, 3.4 GHz Intel Core i7, 32 GB RAM
> Reporter: Benjamin Geer
> Priority: Critical
> Labels: performance
>
> We seem to have encountered a severe performance regression in Jena 3.0.1 /
> Fuseki 2.3.1 as compared with Jena 3.0.0 / Fuseki 2.3.0. A number of our
> queries are running between 2 and 20 times slower. Here's one small example
> with configuration for Fuseki. With Fuseki 2.3.0, the query below takes about
> 200 milliseconds. With Fuseki 2.3.1, it takes 9 seconds. I've also tried it
> with the latest Fuseki snapshot
> (apache-jena-fuseki-2.4.0-20160117.183513-33.zip), and got the same result as
> with the 2.3.1 release.
> Here's the test data and configuration:
> https://www.dropbox.com/s/b9aepexij5e7noj/jena-performance-test.zip?dl=0
> Here's the query:
> {noformat}
> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> prefix knora-base: <http://www.knora.org/ontology/knora-base#>
> SELECT DISTINCT
> ?resourceIri
> ?resourceLabel
> (SAMPLE(?anyMatch) AS ?match)
> WHERE {
> BIND(STR("de") AS ?preferredLanguage)
> BIND(STR("en") AS ?fallbackLanguage)
> ?s <http://jena.apache.org/text#query> 'Zeitglöcklein' .
> MINUS {
> ?s knora-base:isDeleted true .
> }
> OPTIONAL {
> ?s a ?valueObjectType .
> ?valueObjectType rdfs:subClassOf+ knora-base:Value .
> ?resIri ?resourceProperty ?s .
> ?s knora-base:valueHasString ?literal .
> OPTIONAL {
> ?resourceProperty rdfs:label
> ?preferredLanguageResourcePropertyLabel .
> FILTER (LANG(?preferredLanguageResourcePropertyLabel) =
> ?preferredLanguage) .
> }
> OPTIONAL {
> ?resourceProperty rdfs:label
> ?fallbackLanguageResourcePropertyLabel .
> FILTER (LANG(?fallbackLanguageResourcePropertyLabel) =
> ?fallbackLanguage) .
> }
> OPTIONAL {
> ?resourceProperty rdfs:label ?anyLanguageResourcePropertyLabel .
> }
> BIND(COALESCE(str(?preferredLanguageResourcePropertyLabel),
> str(?fallbackLanguageResourcePropertyLabel),
> str(?anyLanguageResourcePropertyLabel)) AS ?propertyLabel)
> BIND(CONCAT(STR(?valueObjectType), "|", STR(?propertyLabel), "|",
> STR(?literal)) AS ?anyMatch)
> MINUS {
> ?resIri knora-base:isDeleted true .
> }
> }
> BIND(COALESCE(?resIri, ?s) AS ?resourceIri)
> ?resourceIri a ?resourceClass .
> ?resourceClass rdfs:subClassOf+ knora-base:Resource .
> ?resourceIri rdfs:label ?resourceLabel .
> }
> GROUP BY
> ?resourceIri
> ?resourceLabel
> ORDER BY ?resourceIri
> {noformat}
> Best regards,
> Benjamin Geer
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)