- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的产品 SKU 编写自定义文本字段类型。
如果我有一个 SKU,例如 ABC-DEF123G/5
(仅作为示例),我希望用户能够使用或不使用标点符号进行搜索。在许多情况下,只有部分 SKU 是相关的,例如ABC-DEF123
在我的示例中。
到目前为止,我的 schema.xml
看起来像:
<fieldType name="sku" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
splitOnCaseChange="0"
splitOnNumerics="0"
stemEnglishPossessive="0"
catenateAll="1"
/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15"/>
</analyzer>
</fieldType>
<!-- For use in Sunspot: -->
<dynamicField name="*_sku" stored="false" type="sku" multiValued="true" indexed="true"/>
这很有效,因为我可以搜索 SKU 的各个部分,例如DEF123
并获得适当的结果(感谢 ngram 过滤器)。但是,不带标点分隔符的搜索不会返回任何匹配项:ABC-DEF123G/5
可以,但 ABCDEF123G5
不行。
当我对我的架构进行分析时,我发现搜索 ABCDEF123G5
已突出显示匹配项,但在运行实际查询时没有返回任何结果。
我已重新启动 Solr 并重新索引我的文档。很多次。
在索引 SKU 或类似物方面有什么智慧珠?
这位编辑 ( aitchnyu ) 从维基百科添加了这个:
A stock-keeping unit or SKU is a number or code used to identify each unique product or item for sale in a store or other business.
It is a unique identifier for each distinct product and service that can be purchased. The usage of SKU is rooted in data management, enabling the company to systematically track its inventory or product availability, such as in warehouses and retail outlets. They are often assigned and serialized at the merchant level. Each SKU is attached to an item, variant, product line, bundle, service, fee, or attachment. SKUs are often used to refer to different versions of the same product. For example, a retail store carrying the game Guitar Hero 3 might have six SKUs, two for each of the three platforms—one with and one without a guitar controller.
最佳答案
经过几天的周期性研究,我终于确定了以下几点:
<fieldType name="sku" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="15"/>
</analyzer>
</fieldType>
这是根据同事提供的默认版本的 schema.xml 改编的。
编辑:
通过更改为边缘 n-gram 和缩短 n-gram 最小长度,进一步提高了相关性。
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
关于Solr 和产品 SKU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474890/
假设我们有: SKU 为“product-sku”的产品 带有 SKU“custom-option”的自定义选项 如果我们现在添加此产品并在购物车中选择此自定义选项,则此产品的 SKU 将在结帐页面上
有没有一种方法可以将我现有的基本 sku LB 替换为标准 LB,而不会造成停机? 运行 3 层架构应用程序/网络/数据库。 我的想法是创建新的标准 sku,按照基本配置 100%,然后只需将每个公共
在购物车页面上,我需要能够使用子 SKU 获取父 SKU。 我尝试了从 Magento 论坛和 StackOverflow 上类似问题中截取的几段代码,但没有成功。 我可以使用 getTypeId()
每一个。我有一个像这样的 mySQL 表: DATA(sku,quantity) ABC 55 ABC_DE005 1 ABC_DE006 1 ABC_DE007
我正在尝试从其中一个子简单产品的 SKU 或 ID 中获取父可配置产品 SKU。我的理解是一个简单的可以属于多个可配置项,但我希望客户添加到他们的购物车中的特定可配置项。我读了 related que
我不是编码员(只是脚本 fiddler ),我遇到了 Magento 的一个特殊问题,我无法用代码或数据来解释,所以我需要解释一下情况。我销售有多种选择的可配置产品。这些家具产品使用各种代码来描述产品
我有一个奇怪的情况。这是我的模型: UpcCode => UpcCode(id: integer, Upc: string, Sku: string, Active: boolean, created
这可以通过一条语句实现吗? 我的数据库中有多个表。 使用这个SELECT检索子 sku 数组(又名产品列表 sku) SELECT SKU FROM MasterSKU WHERE '4048' IN
我们有一个附加了 IP 的虚拟网络网关。它的设置如上所述here . 现在我们有这个“警报”: Upgrade to Standard SKU - Microsoft recommends Stand
我们正在开发一款应用程序,允许我们的 Azure 管理员监控组织中人员的 Azure 资源请求。 有一个要求,我想通过某些 API(如果可用)获取所有可能的 SKU 和 SKU 容量的列表。我本可以对
我们正在开发一款应用程序,允许我们的 Azure 管理员监控组织中人员的 Azure 资源请求。 有一个要求,我想通过某些 API(如果可用)获取所有可能的 SKU 和 SKU 容量的列表。我本可以对
在我的新订单电子邮件中,我有产品的 SKU,但我想从订单电子邮件中删除它。我该怎么做? 最佳答案 这其实是个好问题。感谢您询问 Patrik。 此操作无法从管理界面完成,因为带有订单项的 block
在functions.php中 add_action( 'woocommerce_add_order_item_meta', 'custom_add_item_sku', 10, 3 ); funct
我正在开发的网站上的完整和部分 SKU 搜索已停止工作,此功能之前曾有效。 当此方法有效时,比较网站的旧版 .SQL,我看不到 core_config_data 的任何更改会以这种方式影响网站。 搜索
在functions.php中 add_action( 'woocommerce_add_order_item_meta', 'custom_add_item_sku', 10, 3 ); funct
我尝试在订购 sample 时将文本附加到 SKU。 我尝试了以下代码来修改标题, function cart_title($title, $values, $cart_item_key){
loadByIncrementId($orderNumber); foreach ($order->getAllItems() as $item){ $productOptions = $it
我正在为我的产品 SKU 编写自定义文本字段类型。 如果我有一个 SKU,例如 ABC-DEF123G/5(仅作为示例),我希望用户能够使用或不使用标点符号进行搜索。在许多情况下,只有部分 SKU 是
我正在构建一个模块化项目,并且正在寻找使我们能够为不同客户构建该产品的多个倾斜的最佳方法。它需要在构建过程中完成,以免客户更改配置文件中的值来启用模块。 我最好的猜测是与特定构建相关联的某种环境变量集
我正在将应用内结算添加到我现有的一个应用中。为了测试这一点,我在 google play 中创建了一个草稿应用程序,上传了带有应用程序内计费的新版本的 apk 并添加了一个产品。我激活了这个产品,但我
我是一名优秀的程序员,十分优秀!