X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fadministration.xml;h=7303d30a4dc637a73207c1de70a78440714f34b2;hb=558bf94a5f36eb89b0ca7ac4780b641da852c36b;hp=1dd6a228b9a8b8e31cb67492ba605b2259015e7e;hpb=b6ff969813b5ac4c0a6b266979469b0cc24201fd;p=idzebra-moved-to-github.git diff --git a/doc/administration.xml b/doc/administration.xml index 1dd6a22..7303d30 100644 --- a/doc/administration.xml +++ b/doc/administration.xml @@ -1,5 +1,5 @@ - + Administrating Zebra + + + + + The rank-1 algorithm + does not use the static rank + information in the list keys, and will produce the same ordering + with or without static ranking enabled. + + + + + + + - Notice that dynamic ranking is not compatible + Dynamic ranking is not compatible with estimated hit sizes, as all documents in - a hit set must be acessed to compute the correct placing in a + a hit set must be accessed to compute the correct placing in a ranking sorted list. Therefore the use attribute setting @attr 2=102 clashes with @attr 9=integer. - - It is possible to apply dynamic ranking on parts of the PQF query - allone: - - Z> f @and @attr 2=102 @attr 1=1010 Utah @attr 1=1018 Springer - - searches for all documents which have the term 'Utah' on the - body of text, and which have the term 'Springer' in the publisher - field, and sort them in the order of the relvance ranking made on - the body of text index only. - - - Rank weight is a way to pass a value to a ranking algorithm - so that - one APT has one value - while another as a different one. For - example, we can - search for 'utah' in use attribute set 'title' with weight 30, as - well as in use attribute set 'any' with weight 20. - - Z> f @attr 2=102 @or @attr 9=30 @attr 1=4 utah @attr 9=20 utah - - - + + + + + Dynamically ranking CQL queries - The rank weight feature is experimental. It may change in future - releases of zebra, and is not production mature. + Dynamic ranking can be enabled during sever side CQL + query expansion by adding @attr 2=102 + chunks to the CQL config file. For example + + relationModifier.relevant = 2=102 + + invokes dynamic ranking each time a CQL query of the form + + Z> querytype cql + Z> f alvis.text =/relevant house + + is issued. Dynamic ranking can also be automatically used on + specific CQL indexes by (for example) setting + + index.alvis.text = 1=text 2=102 + + which then invokes dynamic ranking each time a CQL query of the form + + Z> querytype cql + Z> f alvis.text = house + + is issued. - - - - Notice that dynamic ranking can be enabled in - sever side CQL query expansion by adding @attr - 2=102 to the CQL config file. For example - - relationModifier.relevant = 2=102 - - invokes dynamik ranking each time a CQL query of the form - - Z> querytype cql - Z> f alvis.text =/relevant house - - is issued. Dynamic ranking can be enabled on specific CQL indexes - by (for example) setting - - index.alvis.text = 1=text 2=102 - - which then invokes dynamik ranking each time a CQL query of the form - - Z> querytype cql - Z> f alvis.text = house - - is issued. - + + @@ -1146,59 +1368,63 @@ Sorting - Sorting is enabled in the configuration of record indexing. For - example, to enable sorting according to the BIB-1 + Zebra sorts efficiently using special sorting indexes + (type=s; so each sortable index must be known + at indexing time, specified in the configuration of record + indexing. For example, to enable sorting according to the BIB-1 Date/time-added-to-db field, one could add the line xelm /*/@created Date/time-added-to-db:s - to any .abs record indexing config file, or - similarily, one could add an indexing element of the form + to any .abs record-indexing configuration file. + Similarly, one could add an indexing element of the form ]]> - to any alvis indexing rule. + to any alvis-filter indexing stylesheet. - To trigger a sorting on a pre-defined sorting index of type - s, we can issue a sort with BIB-1 - embedded sort attribute set 7. - The embedded sort is a way to specify sort within a query - thus - removing the need to send a Z39.50 Sort - Request separately. + Indexing can be specified at searching time using a query term + carrying the non-standard + BIB-1 attribute-type 7. This removes the + need to send a Z39.50 Sort Request + separately, and can dramatically improve latency when the client + and server are on separate networks. + The sorting part of the query is separate from the rest of the + query - the actual search specification - and must be combined + with it using OR. - The value after attribute type 7 is - 1 (=ascending), or 2 - (=descending). - The attributes+term (APT) node is separate from the rest of the - PQF query, and must be @or'ed. - The term associated with this attribute is the sorting level, - where - 0 specifies the primary sort key, - 1 the secondary sort key, and so on. + A sorting subquery needs two attributes: an index (such as a + BIB-1 type-1 attribute) specifying which index to sort on, and a + type-7 attribute whose value is be 1 for + ascending sorting, or 2 for descending. The + term associated with the sorting attribute is the priority of + the sort key, where 0 specifies the primary + sort key, 1 the secondary sort key, and so + on. For example, a search for water, sort by title (ascending), is expressed by the PQF query - Z> f @or @attr 1=1016 water @attr 7=1 @attr 1=4 0 + @or @attr 1=1016 water @attr 7=1 @attr 1=4 0 whereas a search for water, sort by title ascending, then date descending would be - Z> f @or @or @attr 1=1016 water @attr 7=1 @attr 1=4 0 @attr 7=2 @attr 1=30 1 + @or @or @attr 1=1016 water @attr 7=1 @attr 1=4 0 @attr 7=2 @attr 1=30 1 Notice the fundamental differences between dynamic - ranking and sorting: there can only - be one ranking function defined and configured, but there can be - specified multiple sorting indexes dynamically at search - time. Ranking does not need to use specific indexes, which means, + ranking and sorting: there can be + only one ranking function defined and configured; but multiple + sorting indexes can be specified dynamically at search + time. Ranking does not need to use specific indexes, so dynamic ranking can be enabled and disabled without - re-indexing. On the other hand, sorting indexes need to be + re-indexing; whereas, sorting indexes need to be defined before indexing. @@ -1369,74 +1595,6 @@ - - Server Side CQL to PQF Query Translation - - Using the - <cql2rpn>l2rpn.txt</cql2rpn> - YAZ Frontend Virtual - Hosts option, one can configure - the YAZ Frontend CQL-to-PQF - converter, specifying the interpretation of various - CQL - indexes, relations, etc. in terms of Type-1 query attributes. - - - - For example, using server-side CQL-to-PQF conversion, one might - query a zebra server like this: - - querytype cql - Z> find text=(plant and soil) - ]]> - - and - if properly configured - even static relevance ranking can - be performed using CQL query syntax: - - find text = /relevant (plant and soil) - ]]> - - - - - By the way, the same configuration can be used to - search using client-side CQL-to-PQF conversion: - (the only difference is querytype cql2rpn - instead of - querytype cql, and the call specifying a local - conversion file) - - querytype cql2rpn - Z> find text=(plant and soil) - ]]> - - - - - Exhaustive information can be found in the - Section "Specification of CQL to RPN mappings" in the YAZ manual. - - http://www.indexdata.dk/yaz/doc/tools.tkl#tools.cql.map, - and shall therefore not be repeated here. - - - - -