Re: ft:query facets and options
Boris Lehečka <[email protected]>
| Newsgroups | gmane.text.xml.exist |
|---|---|
| Message-ID | <[email protected]> |
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
> <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 list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/exist-open
_______________________________________________
Exist-open mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/exist-open