I have a working setup (on fuseki 3.14) where I can see different results
using AND/OR, and where "~" fuzzy operator also works.

Differences from your config seem to be that I haven't configured much for
the index, only the directory and entity map. Would testing if a minimal
config works and then rebuilding index from command line, with more
configuration each time until it breaks help?

    <#text_index> a text:TextIndexLucene ;    text:directory
</var/fuseki/databases/place-name-data/Lucene> ;    text:entityMap
<#entMap> ;    .

Best regards,

Øyvind



tor. 8. okt. 2020 kl. 10:23 skrev Mikael Pesonen <[email protected]
>:

> Anyone got any idea how to fix this? I'm out of ideas.
>
> On Mon, 5 Oct 2020 at 14:33, Mikael Pesonen <[email protected]>
> wrote:
>
> >
> > Sorry, correction: "language AND <any other words here>" and "language
> > OR <any other words here>" return same results as "language <any other
> > words here>" and same results as "language".
> >
> > On 5.10.2020 14:27, Mikael Pesonen wrote:
> > >
> > > Hi,
> > >
> > > forgot to mention that AND and OR in query returns also no results.
> > > I'm somewhat familiar with Lucene syntax but seems like none of the
> > > syntax works with my setup.
> > > There are no errors in Jena log, only the warning about
> > > AnalyzingQueryParser.
> > >
> > >
> > >
> > > On 5.10.2020 13:49, Lorenz Buehmann wrote:
> > >> It's Lucene syntax so a look into its documentation[1] could help.
> > >>
> > >> Regarding multiple words, default Boolean operator is "OR", i.e.
> > >>
> > >> "language <any other words here>" is equivalent to "language OR <any
> > >> other words here>". Obviously the result will contain all at least
> > >> documents with "language". Use AND operator if it must contain both.
> > >>
> > >> Fuzzy queries and proximity queries are also explained in the Lucene
> > >> docs[1].
> > >>
> > >>
> > >>
> > >> [1] https://lucene.apache.org/core/8_6_2/queryparser/index.html
> > >>
> > >> On 05.10.20 11:22, Mikael Pesonen wrote:
> > >>> I'm having trouble making other that one word queries.
> > >>>
> > >>> For example "language <any other words here>" gives same result,
> > >>> regardless of the other words.
> > >>>
> > >>> Using quotes "\"some query\"" returns no results.
> > >>>
> > >>>
> > >>>
> > >>> So I would like to make "fuzzy" multiword queries where for example
> > >>>
> > >>> "language technology" returns different results  that "language
> > >>> management"
> > >>>
> > >>> And also to query "\"language technology\"" which should return exact
> > >>> matches.
> > >>>
> > >>>
> > >>>
> > >>> I'm using latest Jena with  AnalyzingQueryParser, which gives warning
> > >>>
> > >>>   WARN  TextIndexLucene :: Deprecated query parser type
> > >>> 'AnalyzingQueryParser'. Defaulting to standard QueryParser
> > >>>
> > >>> Also tried other parsers.
> > >>>
> > >>>
> > >>> Config:
> > >>>
> > >>> @prefix :<http://localhost/jena_example/#>  .
> > >>> @prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>  .
> > >>> @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>  .
> > >>> @prefix tdb:<http://jena.hpl.hp.com/2008/tdb#>  .
> > >>> @prefix ja:<http://jena.hpl.hp.com/2005/11/Assembler#> .
> > >>> @prefix text:<http://jena.apache.org/text#>  .
> > >>> @prefix skos:<http://www.w3.org/2004/02/skos/core#> .
> > >>> @prefix fuseki:<http://jena.apache.org/fuseki#>  .
> > >>> @prefix vcard:<http://www.w3.org/2006/vcard/ns#> .
> > >>> @prefix dcterms:<http://purl.org/dc/terms/> .
> > >>>
> > >>> @prefix lsrm:<https://resource.lingsoft.fi/ns/resource_meta#> .
> > >>>
> > >>> ## Example of a TDB dataset and text index
> > >>> ## Initialize TDB
> > >>> [] ja:loadClass "org.apache.jena.tdb.TDB" .
> > >>> tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
> > >>> tdb:GraphTDB    rdfs:subClassOf  ja:Model .
> > >>>
> > >>> ## Initialize text query
> > >>> [] ja:loadClass       "org.apache.jena.query.text.TextQuery" .
> > >>> # A TextDataset is a regular dataset with a text index.
> > >>> text:TextDataset      rdfs:subClassOf   ja:RDFDataset .
> > >>> # Lucene index
> > >>> text:TextIndexLucene  rdfs:subClassOf   text:TextIndex .
> > >>>
> > >>>
> > >>> :text_dataset rdf:type     text:TextDataset ;
> > >>>       text:dataset   :my_dataset ;
> > >>>       text:index     <#indexLucene> ;
> > >>>       .
> > >>>
> > >>> # A TDB dataset used for RDF storage
> > >>> :my_dataset rdf:type      tdb:DatasetTDB ;
> > >>>       tdb:location "/home/text/tools/jena_data/" ;
> > >>> #    tdb:unionDefaultGraph true ; # Optional
> > >>>       .
> > >>>
> > >>> # Text index description
> > >>> <#indexLucene> a text:TextIndexLucene ;
> > >>>       text:directory <file:/home/text/tools/jena_text_index/> ;
> > >>>       text:entityMap <#entMap> ;
> > >>>       text:storeValues true ;
> > >>>       text:analyzer [ a text:StandardAnalyzer ] ;
> > >>>       text:queryAnalyzer [ a text:KeywordAnalyzer ] ;
> > >>>       text:queryParser text:AnalyzingQueryParser ;
> > >>>       text:multilingualSupport true ;
> > >>>    .
> > >>>
> > >>> <#entMap> a text:EntityMap ;
> > >>>       text:defaultField     "vcard_fn" ;
> > >>>       text:entityField      "uri" ;
> > >>>       text:uidField         "uid" ;
> > >>>       text:langField        "lang" ;
> > >>>       text:graphField       "graph" ;
> > >>>       text:map (
> > >>>            [ text:field "vcard_fn" ; text:predicate vcard:fn ]
> > >>>            [ text:field "skos_prefLabel"  ; text:predicate
> > >>> skos:prefLabel ]
> > >>>            [ text:field "skos_altLabel"  ; text:predicate
> > >>> skos:altLabel ]
> > >>>            [ text:field "lsrm_content" ; text:predicate lsrm:content]
> > >>>            [ text:field "dcterms_title" ; text:predicate
> dcterms:title]
> > >>>            [ text:field "dcterms_description" ; text:predicate
> > >>> dcterms:description]
> > >>>            ) .
> > >>>
> > >>> <#service> rdf:type fuseki:Service ;
> > >>>       fuseki:name                     "/ds" ;   #
> > >>> http://host:port/ds-ro
> > >>>       fuseki:serviceQuery             "query" ;    # SPARQL query
> > >>> service
> > >>>       fuseki:serviceQuery             "sparql" ;   # SPARQL query
> > >>> service
> > >>>       fuseki:serviceUpdate            "update" ;   # SPARQL update
> > >>> service
> > >>>       fuseki:serviceUpload            "upload" ;   # Non-SPARQL
> upload
> > >>> service
> > >>>       fuseki:serviceReadWriteGraphStore "data" ;     # SPARQL Graph
> > >>> store protocol (read and write)
> > >>>       fuseki:dataset           :text_dataset ;
> > >>>       .
> > >
> >
> >
>

Reply via email to