【发布时间】:2013-01-21 16:29:15
【问题描述】:
我正在尝试创建一个名为“sku”的字段 - 使用以下分析器对其进行索引:
<fieldType name="sku" class="solr.TextField">
<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern="(SKU|Part(\sNumber)?):?\s(\[0-9-\]+)" group="3"/>
</analyzer>
</fieldType>
我已经有一个成功发布到 solr 服务器的 Java 程序,但是它没有从任何文件中抓取 sku 并为它们编制索引。这是我的 Java 代码:
ContentStreamUpdateRequest up = new ContentStreamUpdateRequest(
"/update/extract");
up.addFile(arg0, arg0.getName());
up.setParam("literal.id", arg0.getName());
up.setParam("uprefix", "attr_");
up.setParam("fmap.content", "attr_content");
up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
server.request(up);
任何帮助表示赞赏。
我知道我可以自己解析文本文件并提取 SKU 并将它们在参数中发布到服务器,但我认为 Solr 可以为我做到这一点?
【问题讨论】:
-
您的 SKU 编号是否与该模式要捕获的一样?即:以“SKU”或“Part”开头,可选单词“Number”,可选冒号,必填(!)空格,一个或多个数字和连字符(仅此而已)被捕获。请注意,我相信这也会区分大小写。