|
From: Gus R. <gu...@gm...> - 2023-02-24 15:25:47
|
Thanks, Boris!
That is exactly what I was looking for. I have something like this and it
works:
$query_options := map {
"facets": map {
"script": ($scriptParam),
"condition": ($conditionParam),
},
"fields": ('place', 'material'),
"leading-wildcard": "yes"
}
On Fri, Feb 24, 2023 at 4:11 PM Boris Lehečka <bo...@da...> wrote:
> Hello Gus,
>
> take a look at
> https://github.com/eeditiones/tei-publisher-app/blob/master/modules/query.xql,
> TEI Publushers uses json format for options, as you can see here
>
> declare variable $query:QUERY_OPTIONS := map {
> "leading-wildcard": "yes",
> "filter-rewrite": "yes"
> };
>
> and here:
>
> declare function query:options($sortBy as xs:string*) {
> map:merge((
> $query:QUERY_OPTIONS,
> map {
> "facets":
> map:merge((
> for $param in
> request:get-parameter-names()[starts-with(., 'facet-')]
> let $dimension := substring-after($param, 'facet-')
> return
> map {
> $dimension: request:get-parameter($param, ())
> }
> ))
> },
> if ($sortBy) then
> map { "fields": ($sortBy, $config:default-fields) }
> else
> map { "fields": $config:default-fields }
> ))
> };
>
> I would also prefer the <option> in XML, maybe someone else can help.
>
> Boris
> Dne 24.02.2023 v 15:11 Gus Riva napsal(a):
>
> Hi!
>
> Hope someone can help me. I am trying to do a full text query using the
> lucene index with facets and ft:query. The documentation says that the 3°
> parameter in the query can be the options as an xml fragment. For example:
> let $options := <options> <query-analyzer-id>ws</query-analyzer-id> <
> default-operator>and</default-operator> <phrase-slop>1</phrase-slop> <
> leading-wildcard>no</leading-wildcard> <filter-rewrite>yes</filter-rewrite
> > <lowercase-expanded-terms>yes</lowercase-expanded-terms> </options>
>
> Described here:
>
> https://exist-db.org/exist/apps/fundocs/view.html?uri=http://exist-db.org/xquery/lucene&location=java:org.exist.xquery.modules.lucene.LuceneModule#query.3
>
> And towards the end of:
> https://exist-db.org/exist/apps/doc/lucene
>
> This is however not working for me.
> The 3° parameter of ft:query can also be used with a map for facets and
> fields, described also in the documentation. Like this:
> let $options := map { "facets": map { "keyword": ("indexing", "facets"),
> "date": [("2018", "06"), ("2018", "05")] } }
>
> This works for me.
>
> Ideally, I would like to do both: use the facets and fields argument, and
> change the options. Is there a way to do that? Has the options function
> been deprecated?
>
> Thanks for your help!
>
> Best,
> Gustavo Fernández Riva
> Universität Heidelberg
>
>
> _______________________________________________
> Exist-open mailing lis...@li...://lists.sourceforge.net/lists/listinfo/exist-open
>
> _______________________________________________
> Exist-open mailing list
> Exi...@li...
> https://lists.sourceforge.net/lists/listinfo/exist-open
>
|