Solr facet从输出中排除单词

时间:2016-03-15 08:31:04

标签: solr datastax datastax-enterprise facet faceted-search

以下是我的Solr请求

onDeviceReady: function() { app.receivedEvent('deviceready'); // Read NDEF formatted NFC Tags nfc.addNdefListener ( function (nfcEvent) { var tag = nfcEvent.tag, ndefMessage = tag.ndefMessage; // dump the raw json of the message // note: real code will need to decode // the payload from each record alert(JSON.stringify(ndefMessage)); // assuming the first record in the message has // a payload that can be converted to a string. alert(nfc.bytesToString(ndefMessage[0].payload).substring(3)); }, function () { // success callback alert("Waiting for NDEF tag"); }, function (error) { // error callback alert("Error adding NDEF listener " + JSON.stringify(error)); } ); },

这给我输出

localhost:8983/solr/keyspace.table/select?q=*:*&fq=date:[2016-03-01T00:00:00Z TO 2016-03-01T00:59:00Z]&rows=0&wt=json&indent=true&facet=true&facet.field=title

我想从中删除一些字词,例如我想从输出中排除"facet_counts": { "facet_queries": {}, "facet_fields": { "title": [ "on", 24, "demand", 6, "gold", 6, "rebounds", 6, "silver", 6, "slips", 6, "subdued", 6, "abuse", 3, "back", 3, "at", 2, . . on。可能有很多像这样的词,我想提供给solr,它应该排除。有没有办法做到这一点?

在搜索时,我发现并尝试过像at这样的东西,但是没有用,它仍然返回相同的输出。

此外,默认情况下,它只返回100个单词及其计数。我想要1000或2000字,我们可以提供我们想要的字数作为输出吗?

2 个答案:

答案 0 :(得分:2)

根据结果数量检查:https://wiki.apache.org/solr/SimpleFacetParameters#facet.limit

根据您要排除的字词,您需要进入Solr手册,您正在使用的确切版本,并寻找“停用词”以及Solr为您提供所需的不同可能性。

抱歉,我无法提供进一步的帮助。

答案 1 :(得分:0)

使用一个单独的字段,该字段只包含您想要面对的标记。您可以通过应用StopFilter来执行此操作 - 您可以使用要删除的所有值进行配置。您希望在索引时执行此操作,因此在将其添加到过滤器列表后需要重新索引。

您可以使用与不包含该字段的文档匹配的fq来排除结果中的文档(使用-term或NOT作为布尔运算符)。