我试图创建一个名为“SKU”场 - 这是索引有以下分析:Solr的4 - 索引贴文本文件
<fieldType name="sku" class="solr.TextField">
<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern="(SKU|Part(\sNumber)?):?\s(\[0-9-\]+)" group="3"/>
</analyzer>
</fieldType>
我已经有一个Java程序成功发布到solr服务器,但是它不会从任何文件中抓取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”开头,可选词“数字”,可选冒号,强制(!)空格,一个或多个数字和连字符(以及其他任何数字)来捕获。请注意,我相信这也会区分大小写。 – femtoRgon