在shopify中更改搜索设置

时间:2014-03-04 12:57:45

标签: shopify

在我的shopify商店搜索算法似乎只寻找整个单词。例如,如果我的商店中有产品“键盘”,则“密钥”找不到它。

有没有办法改变它?

4 个答案:

答案 0 :(得分:0)

搜索由Shopify控制。您唯一能做的就是检查返回的结果并根据需要渲染结果。另一种选择是构建自己的搜索功能,然后你就可以控制算法。这需要您部署自己的高性能服务器并利用Shopify中的App Proxy,或者只是手动将结果呈现为HTML或JSON ......

答案 1 :(得分:0)

大卫是对的。搜索功能由Shopify控制,遗憾的是此功能无法识别部分字符串(有关详细信息,请参阅this support thread)。

我的建议是构建您自己的搜索功能,或者使用typeahead.js之类的插件来帮助绕过问题。

答案 2 :(得分:0)

其他人都是对的 - 你对Shopify中的搜索没有多少控制权。但是,the support thread中提到的luciddarryn's answer谈到了Shopify管理搜索的局限性。在商店的产品搜索中,您可以将Solr syntax用于部分字词。有关详细信息,请参阅herehere。您还可以在Shopify app store上查看具有您所需功能的搜索应用。

答案 3 :(得分:0)

在搜索字词的末尾添加星号,而不是Object.keys(obj).map(k => `${encodeURIComponent(k)}=${encodeURIComponent(obj[k])}`).join('&'); ,而是var parsedDataForTableView : ParseForDetailView? { didSet { self.selectedIndex = (parsedDataForTableView?.tabSelected)! self.tableView.rowHeight = (parsedDataForTableView?.tableViewRowHeight)! self.tableView.reloadData() } } var selectedIndex = Int() override func viewDidLoad() { super.viewDidLoad() self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 0, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!) configureView() configureNavigationBarItems() setImageShadow() } @IBAction func switchBetweenTabs(sender: AnyObject) { if segmentControl.selectedSegmentIndex == 0 { print("Drinks Selected") self.selectedIndex = 0 print(self.selectedIndex) self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 0, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!) self.tableView.reloadData() } if segmentControl.selectedSegmentIndex == 1 { print("Entertainment Selected") self.selectedIndex = 1 print(self.selectedIndex) self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 1, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!) self.tableView.reloadData() } if segmentControl.selectedSegmentIndex == 2 { print("Info Selected") self.selectedIndex = 2 print(self.selectedIndex) self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 2, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!) self.tableView.reloadData() } } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = self.tableView.dequeueReusableCellWithIdentifier("detailViewCell") as! DetailViewCell print(self.selectedIndex) if self.selectedIndex == 0 { cell.drinkLabel.text = self.parsedDataForTableView?.drinksArray[indexPath.section][indexPath.row] cell.priceLabel.text = self.parsedDataForTableView?.priceArray[indexPath.section][indexPath.row] cell.entertainmentLabel.text = "" } else if self.selectedIndex == 1 { cell.entertainmentLabel.text = self.parsedDataForTableView?.entertainmentString cell.drinkLabel.text = "" cell.priceLabel.text = "" } else if self.selectedIndex == 2 { // finish this... cell.drinkLabel.text = "Info" cell.priceLabel.text = "Info" cell.entertainmentLabel.text = "Info" } return cell }

星号将其变为外卡搜索。