Smile-SA/elasticsuite

View on GitHub
src/module-elasticsuite-catalog/etc/elasticsuite_indices.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<!--
/**
 * Smile_ElasticsuiteCatalog indices configuration.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer
 * versions in the future.
 *
 * @category  Smile
 * @package   Smile\ElasticsuiteCatalog
 * @author    Aurelien FOUCRET <aurelien.foucret@smile.fr>
 * @copyright 2020 Smile
 * @license   Open Software License ("OSL") v. 3.0
 */
 -->
<indices xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="urn:magento:module:Smile_ElasticsuiteCore:etc/elasticsuite_indices.xsd">

    <index identifier="catalog_product" defaultSearchType="product">
        <type name="product" idFieldName="entity_id">
            <mapping>
                <!-- Static fields handled by the base indexer (not datasource) -->
                <field name="entity_id" type="integer" />
                <field name="attribute_set_id" type="integer" />
                <field name="has_options" type="boolean" />
                <field name="required_options" type="boolean" />
                <field name="created_at" type="date" />
                <field name="updated_at" type="date" />
                <field name="type_id" type="keyword" />
                <field name="sku" type="text">
                    <isSearchable>1</isSearchable>
                    <isUsedForSortBy>1</isUsedForSortBy>
                    <isUsedInSpellcheck>1</isUsedInSpellcheck>
                    <isFilterable>1</isFilterable>
                    <defaultSearchAnalyzer>reference</defaultSearchAnalyzer>
                </field>
                <field name="visibility" type="integer" />
                <field name="children_ids" type="integer" />
                <field name="configurable_attributes" type="keyword" />
                <field name="indexed_attributes" type="keyword" />

                <!-- Static fields handled by the "prices" datasource -->
                <field name="price.price" type="double" nestedPath="price" />
                <field name="price.original_price" type="double" nestedPath="price" />
                <field name="price.is_discount" type="boolean" nestedPath="price" />
                <field name="price.customer_group_id" type="integer" nestedPath="price" />
                <field name="price.tax_class_id" type="integer" nestedPath="price" />
                <field name="price.final_price" type="double" nestedPath="price" />
                <field name="price.min_price" type="double" nestedPath="price" />
                <field name="price.max_price" type="double" nestedPath="price" />

                <!-- Static fields handled by the "stock" datasource -->
                <field name="stock.is_in_stock" type="boolean" />
                <field name="stock.qty" type="integer" />

                <!-- Static fields handled by the "categories" datasource -->
                <field name="category.category_id" type="integer" nestedPath="category" />
                <field name="category.category_uid" type="text" nestedPath="category" />
                <field name="category.position" type="integer" nestedPath="category" />
                <field name="category.is_parent" type="boolean" nestedPath="category" />
                <field name="category.name" type="text" nestedPath="category">
                    <isSearchable>1</isSearchable>
                    <isUsedInSpellcheck>1</isUsedInSpellcheck>
                    <isFilterable>0</isFilterable>
                </field>

                <!-- Static fields handled by the "searchPositions" datasource -->
                <field name="search_query.query_id" type="integer" nestedPath="search_query" />
                <field name="search_query.position" type="integer" nestedPath="search_query" />
                <field name="search_query.is_blacklisted" type="boolean" nestedPath="search_query" />

            </mapping>
        </type>
    </index>

    <index identifier="catalog_category" defaultSearchType="category">
        <type name="category" idFieldName="entity_id">
            <mapping>
                <!-- Static fields handled by the base indexer (not datasource) -->
                <field name="entity_id" type="integer" />
                <field name="attribute_set_id" type="integer" />
                <field name="parent_id" type="integer" />
                <field name="created_at" type="date" />
                <field name="updated_at" type="date" />
                <field name="path" type="keyword" />
                <field name="position" type="integer" />
                <field name="level" type="integer" />
                <field name="children_count" type="integer" />
                <field name="is_displayed_in_autocomplete" type="boolean" />
            </mapping>
        </type>
    </index>

</indices>