1

我正在使用 solr 4.3.0 进行网站搜索。我想使用 solr 做一些事情,但是当我查询时,我得到一个错误。在我的情况下,我有 40000 个产品,我想排除 1500 个带有查询的产品。这是我的查询

-brand-slug:reebok OR -brand-slug:nike AND 
-skuCode:(01-117363 01-117364 01-117552 01-119131 01-119166 01-1J622 01-1J793 01-1M4434 01-1M9691 01-1Q279 01-1T405 01-1T865 01-2109830 01-2111116 01-2111186 01-21J625 01-21J794 01-21V019 01-2M9691 01-2M9696 01-33J793 01-519075 01-M4431 01-M7652 01-M9160 01-M9165 01-M9166 01-M9613 01-M9622 01-M9697 01200CY0001N00 01211SU0141M00 01212KU0009N00 01212KU0010N00 01212KU0025N00 01212KU0027N00 01212KU0038N00 01212KW0019N00 01212KW0020N00
....thousands of skuCodes)

如果我将 670 skuCodes 放入其中,效果会很好,但我使用 1500 skuCodes 会出现类似错误

Solr HTTP error: OK (400)

我该如何解决这个问题?谢谢

4

1 回答 1

1

多么美好的夜晚:) 我解决了我的问题。实际上我的系统有两个问题。第一个问题出在我的 tomcat 服务器上。我通过更改 maxHttpHeaderSize="65536" 来增加他们的请求大小。(你可以改变你的网络服务器缓冲区大小我改变了我的 nginx conf)。另一个问题是关于 solr 配置。我收到一个错误,例如“布尔子句太多”。如果您收到此错误,您可以更改 solrconfig.xml 中的 maxBooleanClauses。重新启动我的tomcat服务器后一切正常。

于 2013-08-18T22:30:04.213 回答