Your IP : 127.0.0.1


Current Path : /home/Mirasvit/-SearchMysql/etc/
Upload File :
Current File : /home/Mirasvit/-SearchMysql/etc/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">

    <type name="Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory">
        <arguments>
            <argument name="handlers" xsi:type="array">
                <item name="mysql2" xsi:type="string">Mirasvit\SearchMysql\Model\Indexer\IndexerHandler</item>
            </argument>
        </arguments>
    </type>

    <!-- register new search engine -->
    <type name="Magento\Search\Model\AdapterFactory">
        <arguments>
            <argument name="adapters" xsi:type="array">
                <item name="mysql2" xsi:type="string">Mirasvit\SearchMysql\Adapter\Adapter</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\CatalogSearch\Model\ResourceModel\EngineProvider">
        <arguments>
            <argument name="engines" xsi:type="array">
                <item name="mysql2" xsi:type="string">Mirasvit\SearchMysql\Model\ResourceModel\Engine</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\Search\Model\EngineResolver">
        <arguments>
            <argument name="engines" xsi:type="array">
                <item name="mysql2" xsi:type="string">mysql2</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\Search\Model\Adminhtml\System\Config\Source\Engine">
        <arguments>
            <argument name="engines" xsi:type="array">
                <item name="mysql2" xsi:type="string">Built-in Engine</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\CatalogSearch\Model\Indexer\IndexSwitcherInterface">
        <arguments>
            <argument name="configPath" xsi:type="const">Magento\CatalogSearch\Model\ResourceModel\EngineInterface::CONFIG_ENGINE_PATH</argument>
            <argument name="handlers" xsi:type="array">
                <item name="mysql2" xsi:type="string">Magento\CatalogSearch\Model\Indexer\Scope\IndexSwitcher</item>
            </argument>
        </arguments>
    </type>

    <preference for="Magento\Framework\Search\Adapter\Mysql\Query\Builder\Match"
                type="Mirasvit\SearchMysql\Adapter\Query\Builder\Match"/>

    <preference for="Magento\Framework\Search\Adapter\Mysql\ScoreBuilder"
                type="Mirasvit\SearchMysql\Adapter\ScoreBuilder"/>

    <type name="Magento\Framework\Search\Dynamic\IntervalFactory">
        <arguments>
            <argument name="intervals" xsi:type="array">
                <item name="mysql2" xsi:type="string">Magento\Framework\Search\Adapter\Mysql\Aggregation\Interval</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\AdvancedSearch\Model\SuggestedQueries">
        <arguments>
            <argument name="data" xsi:type="array">
                <item name="mysql2" xsi:type="string">Magento\AdvancedSearch\Model\DataProvider\Suggestions</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\CatalogSearch\Model\Search\ItemCollectionProvider">
        <arguments>
            <argument name="factories" xsi:type="array">
                <item name="mysql2" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Elasticsearch\Model\Layer\Category\ItemCollectionProvider">
        <arguments>
            <argument name="factories" xsi:type="array">
                <item name="mysql2" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory</item>
            </argument>
        </arguments>
    </type>
    <virtualType name="mst_LayerSearchItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Search\ItemCollectionProvider">
        <arguments>
            <argument name="factories" xsi:type="array">
                <item name="mysql2" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory</item>
            </argument>
        </arguments>
    </virtualType>
    <virtualType name="mst_LayerCategoryItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Category\ItemCollectionProvider">
        <arguments>
            <argument name="factories" xsi:type="array">
                <item name="mysql2" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\CollectionFactory</item>
            </argument>
        </arguments>
    </virtualType>

     <virtualType name="Magento\Elasticsearch\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Search\Context">
        <arguments>
            <argument name="collectionProvider" xsi:type="object">mst_LayerSearchItemCollectionProvider</argument>
            <argument name="stateKey" xsi:type="object">Magento\CatalogSearch\Model\Layer\Search\StateKey</argument>
        </arguments>
    </virtualType>
    <virtualType name="Magento\Elasticsearch\Model\Layer\Category\Context" type="Magento\Catalog\Model\Layer\Category\Context">
        <arguments>
            <argument name="collectionProvider" xsi:type="object">mst_LayerCategoryItemCollectionProvider</argument>
        </arguments>
    </virtualType>

    <type name="Magento\CatalogSearch\Model\Search\ItemCollectionProvider">
        <arguments>
            <argument name="factories" xsi:type="array">
                <item name="mysql2" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Advanced\CollectionFactory</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\CatalogSearch\Model\Advanced\ProductCollectionPrepareStrategyProvider">
        <arguments>
            <argument name="strategies" xsi:type="array">
                <item name="mysql2" xsi:type="object">Magento\CatalogSearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
            </argument>
        </arguments>
    </type>

</config>