search_config.xml•12.7 kB
<?xml version="1.0" encoding="UTF-8"?>
<!--
Elasticsearch Search Library Configuration
Entity-level configuration for all 11 ITSM entity types
Supported Entity Types:
- Simple: Impact, Urgency, Priority
- Model-Based: Status, Category, Source
- Hierarchical: Location, Department
- Complex: UserGroup, User, Vendor
Each entity has its own:
- fuzziness: Fuzzy matching tolerance (0, 1, 2, AUTO)
- defaultLimit: Default number of results to return
- maxLimit: Maximum allowed results
- minScore: Minimum relevance score threshold
-->
<elasticsearchConfig>
    <entities>
        <!-- ========================================
             SIMPLE ENTITIES (name, id only)
             ======================================== -->
        <!-- IMPACT ENTITY -->
        <entity type="impact">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>impact_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>impact_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- URGENCY ENTITY -->
        <entity type="urgency">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>urgency_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>urgency_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- PRIORITY ENTITY -->
        <entity type="priority">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>priority_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>priority_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- ========================================
             MODEL-BASED ENTITIES (name, id, model)
             ======================================== -->
        <!-- STATUS ENTITY -->
        <entity type="status">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>status_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>status_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>status_model</name>
                    <boost>1.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- CATEGORY ENTITY -->
        <entity type="category">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>category_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>category_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>category_model</name>
                    <boost>1.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- SOURCE ENTITY -->
        <entity type="source">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>source_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>source_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>source_model</name>
                    <boost>1.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- ========================================
             HIERARCHICAL ENTITIES (hierarchy, parent/child)
             ======================================== -->
        <!-- LOCATION ENTITY -->
        <entity type="location">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>location_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>location_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>location_hierarchy</name>
                    <boost>2.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>location_parentId</name>
                    <boost>1.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- DEPARTMENT ENTITY -->
        <entity type="department">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>department_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>department_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>department_hierarchy</name>
                    <boost>2.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>department_parentId</name>
                    <boost>1.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- ========================================
             COMPLEX ENTITIES (multiple custom fields)
             ======================================== -->
        <!-- USERGROUP ENTITY -->
        <entity type="usergroup">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>usergroup_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>usergroup_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>usergroup_description</name>
                    <boost>1.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- USER ENTITY -->
        <entity type="user">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>user_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>user_email</name>
                    <boost>2.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>user_contact</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>user_userlogonname</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>user_contact2</name>
                    <boost>1.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>user_type</name>
                    <boost>1.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
            </fields>
        </entity>
        <!-- VENDOR ENTITY -->
        <entity type="vendor">
            <fuzziness>AUTO</fuzziness>
            <defaultLimit>10</defaultLimit>
            <maxLimit>100</maxLimit>
            <minScore>0.0</minScore>
            <fields>
                <field>
                    <name>vendor_name</name>
                    <boost>3.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
                <field>
                    <name>vendor_id</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>vendor_email</name>
                    <boost>2.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>vendor_contact</name>
                    <boost>2.0</boost>
                    <enabled>true</enabled>
                    <fuzziness>0</fuzziness>
                </field>
                <field>
                    <name>vendor_description</name>
                    <boost>1.5</boost>
                    <enabled>true</enabled>
                    <fuzziness>AUTO</fuzziness>
                </field>
            </fields>
        </entity>
    </entities>
</elasticsearchConfig>