Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何配置Solr以从搜索结果中排除某些文档?_Search_Solr - Fatal编程技术网

Search 如何配置Solr以从搜索结果中排除某些文档?

Search 如何配置Solr以从搜索结果中排除某些文档?,search,solr,Search,Solr,为了从搜索结果中排除一些文档,我可以使用not in或-negative符号通过一个查询指定像这样的ID select/?q=*:*&fq=-id:86+-id:338 如果只需要排除几个ID,这是可以的,但是如果我有数千个ID需要从搜索中排除,那么查询将非常长。我需要有条件地从搜索结果中排除文档列表。如何通过solr配置文件(如创建排除列表)实现这一点?例如,如果usstate等于NY、CA、VA,并且邮政编码以3结尾,则我需要从搜索结果中排除文档。您可以使用添加文档列表以排除特定查

为了从搜索结果中排除一些文档,我可以使用not in或-negative符号通过一个查询指定像这样的ID

select/?q=*:*&fq=-id:86+-id:338
如果只需要排除几个ID,这是可以的,但是如果我有数千个ID需要从搜索中排除,那么查询将非常长。我需要有条件地从搜索结果中排除文档列表。如何通过solr配置文件(如创建排除列表)实现这一点?例如,如果usstate等于NY、CA、VA,并且邮政编码以3结尾,则我需要从搜索结果中排除文档。您可以使用添加文档列表以排除特定查询。这将要求您执行与配置文件中提到的查询匹配的搜索,以使其正常工作


例如,如果您的意思是“我不希望有任何邮政编码以3结尾的usstate为NY、CA、VA的文档”,那么您最好直接在查询中使用该条件(使用经过修改的
-(usstate:(NY或CA或VA)和zipcode:*3)
来获得所需的行为)(有关更快的反向匹配,请参阅)。

我需要排除文档列表,而不管查询字符串如何,因此提升将不起作用,对吗?而不是放置查询条件-(usstate:(NY或CA或VA)和zipcode:*3)在查询本身中,solr是否允许您将其放入配置文件中,以便将此条件应用于所有传入查询?添加一个新的布尔字段“exclude”。使用值true更新这些文档中的字段。&fq=-exclude:trueyes,有类似的字段可用于排除它们,但要求声明不使用此字段。是否有方法通过配置来执行此操作?