Version Notes
Changelog:
* Added spelling option.
Download this release
Release Info
| Developer | Swiftype |
| Extension | Swiftype_Swiftype |
| Version | 1.0.5 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.4 to 1.0.5
- app/code/community/Swiftype/Swiftype/Helper/Data.php +13 -2
- app/code/community/Swiftype/Swiftype/Model/Resource/Fulltext.php +14 -6
- app/code/community/Swiftype/Swiftype/Model/System/Config/Source/Catalog/Search/Spelling.php +18 -0
- app/code/community/Swiftype/Swiftype/etc/system.xml +15 -0
- package.xml +5 -5
app/code/community/Swiftype/Swiftype/Helper/Data.php
CHANGED
|
@@ -16,7 +16,9 @@ class Swiftype_Swiftype_Helper_Data
|
|
| 16 |
const DOCUMENT_FIELD_TYPE_FLOAT = 'float';
|
| 17 |
const DOCUMENT_FIELD_TYPE_DATE = 'date';
|
| 18 |
const DOCUMENT_FIELD_TYPE_LOCATION = 'location';
|
| 19 |
-
|
|
|
|
|
|
|
| 20 |
|
| 21 |
final public function handleException(Exception $exception, $throw = false, $log = true)
|
| 22 |
{
|
|
@@ -312,7 +314,16 @@ class Swiftype_Swiftype_Helper_Data
|
|
| 312 |
{
|
| 313 |
return Mage::getStoreConfig('catalog/search/swiftype_autocomplete_limit', $store);
|
| 314 |
}
|
| 315 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 316 |
final public function getUseSwiftypeAutocomplete($store = null)
|
| 317 |
{
|
| 318 |
if (!$this->getUseSwiftype()) {
|
| 16 |
const DOCUMENT_FIELD_TYPE_FLOAT = 'float';
|
| 17 |
const DOCUMENT_FIELD_TYPE_DATE = 'date';
|
| 18 |
const DOCUMENT_FIELD_TYPE_LOCATION = 'location';
|
| 19 |
+
|
| 20 |
+
const NO_SPELLING_OPTION = 'no';
|
| 21 |
+
const RETRY_SPELLING_OPTION = 'retry';
|
| 22 |
|
| 23 |
final public function handleException(Exception $exception, $throw = false, $log = true)
|
| 24 |
{
|
| 314 |
{
|
| 315 |
return Mage::getStoreConfig('catalog/search/swiftype_autocomplete_limit', $store);
|
| 316 |
}
|
| 317 |
+
|
| 318 |
+
final public function getSpelling($store = null)
|
| 319 |
+
{
|
| 320 |
+
if (!$this->getUseSwiftype()) {
|
| 321 |
+
return false;
|
| 322 |
+
}
|
| 323 |
+
|
| 324 |
+
return Mage::getStoreConfig('catalog/search/swiftype_spelling', $store);
|
| 325 |
+
}
|
| 326 |
+
|
| 327 |
final public function getUseSwiftypeAutocomplete($store = null)
|
| 328 |
{
|
| 329 |
if (!$this->getUseSwiftype()) {
|
app/code/community/Swiftype/Swiftype/Model/Resource/Fulltext.php
CHANGED
|
@@ -84,18 +84,26 @@ class Swiftype_Swiftype_Model_Resource_Fulltext
|
|
| 84 |
{
|
| 85 |
$storeId = $query->getStoreId();
|
| 86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 87 |
$swiftypeApiParameters = array(
|
| 88 |
'uri' => array(
|
| 89 |
'engines' => $this->_getHelper()->getEngineSlug($storeId),
|
| 90 |
'document_types' => Swiftype_Swiftype_Helper_Data::DOCUMENT_TYPE,
|
| 91 |
'search' => null
|
| 92 |
),
|
| 93 |
-
'get' =>
|
| 94 |
-
'auth_token' => $this->_getHelper()->getAuthToken($storeId),
|
| 95 |
-
'q' => $this->_getQueryText($query),
|
| 96 |
-
'per_page' => self::PER_PAGE,
|
| 97 |
-
'page' => $page
|
| 98 |
-
)
|
| 99 |
);
|
| 100 |
|
| 101 |
$swiftypeApiClient = $this->_getHelper()->getSwiftypeClient($swiftypeApiParameters);
|
| 84 |
{
|
| 85 |
$storeId = $query->getStoreId();
|
| 86 |
|
| 87 |
+
$getParams = array(
|
| 88 |
+
'auth_token' => $this->_getHelper()->getAuthToken($storeId),
|
| 89 |
+
'q' => $this->_getQueryText($query),
|
| 90 |
+
'per_page' => self::PER_PAGE,
|
| 91 |
+
'page' => $page
|
| 92 |
+
);
|
| 93 |
+
|
| 94 |
+
$spelling = $this->_getHelper()->getSpelling($storeId);
|
| 95 |
+
|
| 96 |
+
if ($spelling === Swiftype_Swiftype_Helper_Data::RETRY_SPELLING_OPTION) {
|
| 97 |
+
$getParams['spelling'] = Swiftype_Swiftype_Helper_Data::RETRY_SPELLING_OPTION;
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
$swiftypeApiParameters = array(
|
| 101 |
'uri' => array(
|
| 102 |
'engines' => $this->_getHelper()->getEngineSlug($storeId),
|
| 103 |
'document_types' => Swiftype_Swiftype_Helper_Data::DOCUMENT_TYPE,
|
| 104 |
'search' => null
|
| 105 |
),
|
| 106 |
+
'get' => $getParams
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
);
|
| 108 |
|
| 109 |
$swiftypeApiClient = $this->_getHelper()->getSwiftypeClient($swiftypeApiParameters);
|
app/code/community/Swiftype/Swiftype/Model/System/Config/Source/Catalog/Search/Spelling.php
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
final class Swiftype_Swiftype_Model_System_Config_Source_Catalog_Search_Spelling
|
| 4 |
+
{
|
| 5 |
+
final public function toOptionArray()
|
| 6 |
+
{
|
| 7 |
+
return array(
|
| 8 |
+
array(
|
| 9 |
+
'value' => Swiftype_Swiftype_Helper_Data::NO_SPELLING_OPTION,
|
| 10 |
+
'label' => 'No'
|
| 11 |
+
),
|
| 12 |
+
array(
|
| 13 |
+
'value' => Swiftype_Swiftype_Helper_Data::RETRY_SPELLING_OPTION,
|
| 14 |
+
'label' => 'Yes'
|
| 15 |
+
)
|
| 16 |
+
);
|
| 17 |
+
}
|
| 18 |
+
}
|
app/code/community/Swiftype/Swiftype/etc/system.xml
CHANGED
|
@@ -86,6 +86,21 @@
|
|
| 86 |
</depends>
|
| 87 |
<validate>validate-number</validate>
|
| 88 |
</swiftype_autocomplete_limit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
</fields>
|
| 90 |
</search>
|
| 91 |
</groups>
|
| 86 |
</depends>
|
| 87 |
<validate>validate-number</validate>
|
| 88 |
</swiftype_autocomplete_limit>
|
| 89 |
+
<swiftype_spelling>
|
| 90 |
+
<label>Use Swiftype Spelling Correction</label>
|
| 91 |
+
<frontend_type>select</frontend_type>
|
| 92 |
+
<source_model>swiftype/system_config_source_catalog_search_spelling</source_model>
|
| 93 |
+
<sort_order>60</sort_order>
|
| 94 |
+
<show_in_default>0</show_in_default>
|
| 95 |
+
<show_in_website>0</show_in_website>
|
| 96 |
+
<show_in_store>1</show_in_store>
|
| 97 |
+
<depends>
|
| 98 |
+
<engine>swiftype/fulltext_engine</engine>
|
| 99 |
+
</depends>
|
| 100 |
+
<comment>
|
| 101 |
+
<![CDATA[Only available to Business level and above customers. Visit <a href='https://swiftype.com/pricing' target='_blank'>pricing page</a> to learn more and upgrade.]]>
|
| 102 |
+
</comment>
|
| 103 |
+
</swiftype_spelling>
|
| 104 |
</fields>
|
| 105 |
</search>
|
| 106 |
</groups>
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Swiftype_Swiftype</name>
|
| 4 |
-
<version>1.0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.gnu.org/licenses/agpl.html">AGPL</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -16,11 +16,11 @@
|
|
| 16 |
* Autocomplete: Sometimes a search isn't even necessary; our search engines come with autocomplete built-in, and your users will thank you for having it.</description>
|
| 17 |
<notes>Changelog:
|
| 18 |

|
| 19 |
-
*
|
| 20 |
<authors><author><name>Swiftype</name><user>swiftypeteam</user><email>team@swiftype.com</email></author></authors>
|
| 21 |
-
<date>2014-
|
| 22 |
-
<time>
|
| 23 |
-
<contents><target name="magecommunity"><dir name="Swiftype"><dir name="Swiftype"><dir name="Block"><dir name="Ajax"><file name="Suggest.php" hash="e5b55a9c41709eeffe31a6ea266876bc"/></dir><file name="Autocomplete.php" hash="f42063444facdccc951700591a82f8ca"/></dir><dir name="Helper"><file name="Data.php" hash="
|
| 24 |
<compatible/>
|
| 25 |
<dependencies><required><php><min>5.2.13</min><max>5.7.0</max></php></required></dependencies>
|
| 26 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Swiftype_Swiftype</name>
|
| 4 |
+
<version>1.0.5</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.gnu.org/licenses/agpl.html">AGPL</license>
|
| 7 |
<channel>community</channel>
|
| 16 |
* Autocomplete: Sometimes a search isn't even necessary; our search engines come with autocomplete built-in, and your users will thank you for having it.</description>
|
| 17 |
<notes>Changelog:
|
| 18 |

|
| 19 |
+
* Added spelling option.</notes>
|
| 20 |
<authors><author><name>Swiftype</name><user>swiftypeteam</user><email>team@swiftype.com</email></author></authors>
|
| 21 |
+
<date>2014-09-03</date>
|
| 22 |
+
<time>18:25:57</time>
|
| 23 |
+
<contents><target name="magecommunity"><dir name="Swiftype"><dir name="Swiftype"><dir name="Block"><dir name="Ajax"><file name="Suggest.php" hash="e5b55a9c41709eeffe31a6ea266876bc"/></dir><file name="Autocomplete.php" hash="f42063444facdccc951700591a82f8ca"/></dir><dir name="Helper"><file name="Data.php" hash="d826082497f66983bf6562dc25c51786"/><file name="Log.php" hash="544a2a7075d3dec2d8c81eef0656f8a4"/></dir><dir name="Model"><dir name="Observer"><file name="Adminhtml.php" hash="6a1420a1fe9c7a7d7f3b90b5260af196"/><file name="Frontend.php" hash="923f4348d2b2785dfca43df9f2355e40"/><file name="Global.php" hash="8764a09f34b456cb729543616e0de889"/></dir><dir name="Request"><file name="Processor.php" hash="ca7fbb10d1dc0920ddb9605f7c9e310c"/></dir><dir name="Resource"><dir name="Fulltext"><file name="Engine.php" hash="5d95d1b7ea2d13c05478c4fec69d27d5"/></dir><file name="Fulltext.php" hash="f10a4fe39287a9a937c6b2db70de5211"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Search"><file name="Engine.php" hash="a9faa3a31d39cedf2e20fa6e50cc1a66"/><file name="Spelling.php" hash="1bd4db5a89eb63ead9de87b1578baded"/></dir></dir></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="0d61e11d4d332041f75981304546ff1b"/><file name="AnalyticsController.php" hash="8c8742944ddcf89182f6a03f49e747c4"/></dir><dir name="etc"><file name="config.xml" hash="3227643a18db99d75417eea199ed136c"/><file name="system.xml" hash="310d71eaaa4034e3fbbf4648958fe152"/></dir><dir name="sql"><dir name="swiftype_setup"><file name="install-1.php" hash="720c6d503a3493b9be8e34ff9af49528"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="swiftype.xml" hash="b32acb6177dbf205ede8e0b0c2601705"/></dir><dir name="template"><dir name="swiftype"><dir name="ajax"><file name="suggest.phtml" hash="bd7164f8033e2157adb4127e4eacde26"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Swiftype_Swiftype.xml" hash="6894235a6d3edae4c2f5aa04407274d6"/></dir><dir name="."><file name="swiftype.xml" hash="20e640f1fa6945f853c2d29e3c2f94d9"/></dir></target></contents>
|
| 24 |
<compatible/>
|
| 25 |
<dependencies><required><php><min>5.2.13</min><max>5.7.0</max></php></required></dependencies>
|
| 26 |
</package>
|
