Ignore:
Timestamp:
Nov 9, 2010, 2:55:29 PM (12 years ago)
Author:
work@…
Message:
  • added environments used by build scripts (e.g. ci, test and www)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/conf/Searchable.groovy

    r776 r1106  
    11/**
    2  * This {@link groovy.util.ConfigObject} script provides Grails Searchable Plugin configuration.
     2 * This  {@link groovy.util.ConfigObject} script provides Grails Searchable Plugin configuration.
    33 *
    44 * You can use the "environments" section at the end of the file to define per-environment
     
    2525searchable {
    2626
    27     /**
    28      * The location of the Compass index
    29      *
    30      * Examples: "/home/app/compassindex", "ram://app-index" or null to use the default
    31      *
    32      * The default is "${user.home}/.grails/projects/${app.name}/searchable-index/${grails.env}"
    33      */
    34     compassConnection = new File(
    35                 ((new File("/home/tomcat").exists()) ? "/home/tomcat/searchable/gscf/compassindex" : "/tmp/searchable/gscf/compassindex")
    36     ).absolutePath
     27        /**
     28         * The location of the Compass index
     29         *
     30         * Examples: "/home/app/compassindex", "ram://app-index" or null to use the default
     31         *
     32         * The default is "${user.home}/.grails/projects/${app.name}/searchable-index/${grails.env}"
     33         */
     34        compassConnection = "${user.home}/.grails/projects/${app.name}/searchable-index/${grails.env}"
    3735
    38     /**
    39      * Any settings you wish to pass to Compass
    40      *
    41      * Use this to configure custom/override default analyzers, query parsers, eg
    42      *
    43      *     Map compassSettings = [
    44      *         'compass.engine.analyzer.german.type': 'German'
    45      *     ]
    46      *
    47      * gives you an analyzer called "german" you can then use in mappings and queries, like
    48      *
    49      *    class Book {
    50      *        static searchable = { content analyzer: 'german' }
    51      *        String content
    52      *    }
    53      *
    54      *    Book.search("unter", analyzer: 'german')
    55      *
    56      * Documentation for Compass settings is here: http://www.compass-project.org/docs/2.1.0M2/reference/html/core-settings.html
    57      */
    58     compassSettings = [:]
     36        /**
     37         * Any settings you wish to pass to Compass
     38         *
     39         * Use this to configure custom/override default analyzers, query parsers, eg
     40         *
     41         *     Map compassSettings = [
     42         *         'compass.engine.analyzer.german.type': 'German'
     43         *     ]
     44         *
     45         * gives you an analyzer called "german" you can then use in mappings and queries, like
     46         *
     47         *    class Book {*        static searchable = { content analyzer: 'german' }*        String content
     48         *}*
     49         *    Book.search("unter", analyzer: 'german')
     50         *
     51         * Documentation for Compass settings is here: http://www.compass-project.org/docs/2.1.0M2/reference/html/core-settings.html
     52         */
     53        compassSettings = [:]
    5954
    60     /**
    61     * Default mapping property exclusions
    62     *
    63     * No properties matching the given names will be mapped by default
    64     * ie, when using "searchable = true"
    65     *
    66     * This does not apply for classes using "searchable = [only/except: [...]]"
    67     * or mapping by closure
    68     */
    69     defaultExcludedProperties = ["password"]
     55        /**
     56        * Default mapping property exclusions
     57        *
     58        * No properties matching the given names will be mapped by default
     59        * ie, when using "searchable = true"
     60        *
     61        * This does not apply for classes using "searchable = [only/except: [...]]"
     62        * or mapping by closure
     63        */
     64        defaultExcludedProperties = ["password"]
    7065
    71     /**
    72     * Default property formats
    73     *
    74     * Value is a Map between Class and format string, eg
    75     *
    76     *     [(Date): "yyyy-MM-dd'T'HH:mm:ss"]
    77     *
    78     * Only applies to class properties mapped as "searchable properties", which are typically
    79     * simple class types that can be represented as Strings (rather than references
    80     * or components) AND only required if overriding the built-in format.
    81     */
    82     defaultFormats = [:]
     66        /**
     67        * Default property formats
     68        *
     69        * Value is a Map between Class and format string, eg
     70        *
     71        *     [(Date): "yyyy-MM-dd'T'HH:mm:ss"]
     72        *
     73        * Only applies to class properties mapped as "searchable properties", which are typically
     74        * simple class types that can be represented as Strings (rather than references
     75        * or components) AND only required if overriding the built-in format.
     76        */
     77        defaultFormats = [:]
    8378
    84     /**
    85     * Set default options for each SearchableService/Domain-class method, by method name.
    86     *
    87     * These can be overriden on a per-query basis by passing the method a Map of options
    88     * containing those you want to override.
    89     *
    90     * You may want to customise the options used by the search method, which are:
    91     *
    92      * @param reload          whether to reload domain class instances from the DB: true|false
    93     *                        If true, the search  will be slower but objects will be associated
    94     *                        with the current Hibernate session
    95      * @param escape          whether to escape special characters in string queries: true|false
    96      * @param offset          the 0-based hit offset of the first page of results.
    97     *                        Normally you wouldn't change it from 0, it's only here because paging
    98     *                        works by using an offset + max combo for a specific page
    99      * @param max            the page size, for paged search results
    100     * @param defaultOperator if the query does not otherwise indicate, then the default operator
    101     *                        applied: "or" or "and".
    102     *                        If "and" means all terms are required for a match, if "or" means
    103     *                        any term is required for a match
    104      * @param suggestQuery    if true and search method is returning a search-result object
    105     *                        (rather than a domain class instance, list or count) then a
    106     *                        "suggestedQuery" property is also added to the search-result.
    107     *                        This can also be a Map of options as supported by the suggestQuery
    108     *                        method itself
    109     *
    110     * For the options supported by other methods, please see the documentation
    111     * http://grails.org/Searchable+Plugin
    112     */
    113     defaultMethodOptions = [
    114         search: [reload: false, escape: false, offset: 0, max: 10, defaultOperator: "and"],
    115         suggestQuery: [userFriendly: true]
    116     ]
     79        /**
     80        * Set default options for each SearchableService/Domain-class method, by method name.
     81        *
     82        * These can be overriden on a per-query basis by passing the method a Map of options
     83        * containing those you want to override.
     84        *
     85        * You may want to customise the options used by the search method, which are:
     86        *
     87         * @param reload whether to reload domain class instances from the DB: true|false
     88        *                        If true, the search  will be slower but objects will be associated
     89        *                        with the current Hibernate session
     90         * @param escape whether to escape special characters in string queries: true|false
     91         * @param offset the 0-based hit offset of the first page of results.
     92        *                        Normally you wouldn't change it from 0, it's only here because paging
     93        *                        works by using an offset + max combo for a specific page
     94         * @param max the page size, for paged search results
     95        * @param defaultOperator if the query does not otherwise indicate, then the default operator
     96        *                        applied: "or" or "and".
     97        *                        If "and" means all terms are required for a match, if "or" means
     98        *                        any term is required for a match
     99         * @param suggestQuery if true and search method is returning a search-result object
     100        *                        (rather than a domain class instance, list or count) then a
     101        *                        "suggestedQuery" property is also added to the search-result.
     102        *                        This can also be a Map of options as supported by the suggestQuery
     103        *                        method itself
     104        *
     105        * For the options supported by other methods, please see the documentation
     106        * http://grails.org/Searchable+Plugin
     107        */
     108        defaultMethodOptions = [
     109                search: [reload: false, escape: false, offset: 0, max: 10, defaultOperator: "and"],
     110                suggestQuery: [userFriendly: true]
     111        ]
    117112
    118     /**
    119     * Should changes made through GORM/Hibernate be mirrored to the index
    120     * automatically (using Compass::GPS)?
    121     *
    122     * If false, you must manage the index manually using index/unindex/reindex
    123     */
    124     mirrorChanges = true
     113        /**
     114        * Should changes made through GORM/Hibernate be mirrored to the index
     115        * automatically (using Compass::GPS)?
     116        *
     117        * If false, you must manage the index manually using index/unindex/reindex
     118        */
     119        mirrorChanges = true
    125120
    126     /**
    127     * Should the database be indexed at startup (using Compass:GPS)?
    128     *
    129     * Possible values: true|false|"fork"
    130     *
    131     * The value may be a boolean true|false or a string "fork", which means true,
    132     * and fork a thread for it
    133     *
    134     * If you use BootStrap.groovy to insert your data then you should use "true",
    135     * which means do a non-forking, otherwise "fork" is recommended
    136     */
    137     bulkIndexOnStartup = true
     121        /**
     122        * Should the database be indexed at startup (using Compass:GPS)?
     123        *
     124        * Possible values: true|false|"fork"
     125        *
     126        * The value may be a boolean true|false or a string "fork", which means true,
     127        * and fork a thread for it
     128        *
     129        * If you use BootStrap.groovy to insert your data then you should use "true",
     130        * which means do a non-forking, otherwise "fork" is recommended
     131        */
     132        bulkIndexOnStartup = true
    138133
    139     /**
    140     * Should index locks be removed (if present) at startup?
    141     */
    142     releaseLocksOnStartup = true
     134        /**
     135        * Should index locks be removed (if present) at startup?
     136        */
     137        releaseLocksOnStartup = true
    143138}
    144139
    145140// per-environment settings
    146141environments {
    147     development {
    148         searchable {
    149             // development is default; inherits from above
    150         }
    151     }
     142        development {
     143                searchable {
     144                        // development is default; inherits from above
     145                        compassConnection = new File(
     146                                ((new File("/home/tomcat").exists()) ? "/home/tomcat/searchable/gscf-dev/compassindex" : "/tmp/searchable/gscf-dev/compassindex")
     147                        ).absolutePath
     148                }
     149        }
     150        ci {
     151                // used by build script
     152                searchable {
     153                        compassConnection = new File(
     154                                ((new File("/home/tomcat").exists()) ? "/home/tomcat/searchable/gscf-ci/compassindex" : "/tmp/searchable/gscf-ci/compassindex")
     155                        ).absolutePath
     156                }
     157        }
     158        test {
     159                // used by build script
     160                searchable {
     161                        // disable bulk index on startup
     162                        //bulkIndexOnStartup = false
    152163
    153     test {
    154         searchable {
    155             // disable bulk index on startup
    156             bulkIndexOnStartup = false
     164                        // use faster in-memory index
     165                        //compassConnection = "ram://test-index"
    157166
    158             // use faster in-memory index
    159             compassConnection = "ram://test-index"
    160         }
    161     }
    162 
    163     production {
    164         searchable {
    165             // add your production settings here
    166         }
    167     }
     167                        compassConnection = new File(
     168                                ((new File("/home/tomcat").exists()) ? "/home/tomcat/searchable/gscf-test/compassindex" : "/tmp/searchable/gscf-test/compassindex")
     169                        ).absolutePath
     170                }
     171        }
     172        production {
     173                searchable {
     174                        // add your production settings here
     175                }
     176        }
     177        www {
     178                // used by build script
     179                searchable {
     180                        // add your production settings here
     181                        compassConnection = new File(
     182                                ((new File("/home/tomcat").exists()) ? "/home/tomcat/searchable/gscf-www/compassindex" : "/tmp/searchable/gscf-www/compassindex")
     183                        ).absolutePath
     184                }
     185        }
    168186}
Note: See TracChangeset for help on using the changeset viewer.