1

在搜索查询中添加单词 AND、OR、NOT 会引发类似 Plone 4.1 中的错误:

2011-07-28 14:52:46 ERROR Zope.SiteErrorLog 1311882766.090.999612944712 http://localhost:8080/Plone/livesearch_reply
Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module Products.PDBDebugMode.runcall, line 70, in pdb_runcall
  Module ZPublisher.Publish, line 46, in call_object
  Module Products.CMFCore.FSPythonScript, line 130, in __call__
  Module Shared.DC.Scripts.Bindings, line 322, in __call__
  Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
  Module Products.PythonScripts.PythonScript, line 344, in _exec
  Module script, line 73, in livesearch_reply
   - <FSPythonScript at /Plone/livesearch_reply>
   - Line 73
  Module AccessControl.ZopeGuards, line 373, in guarded_apply
  Module AccessControl.ZopeGuards, line 395, in builtin_guarded_apply
  Module Products.CMFPlone.CatalogTool, line 430, in searchResults
  Module Products.ZCatalog.ZCatalog, line 604, in searchResults
  Module Products.ZCatalog.Catalog, line 902, in searchResults
  Module Products.ZCatalog.Catalog, line 528, in search
  Module Products.ZCTextIndex.ZCTextIndex, line 222, in _apply_index
  Module Products.ZCTextIndex.QueryParser, line 135, in parseQuery
  Module Products.ZCTextIndex.QueryParser, line 175, in _parseOrExpr
  Module Products.ZCTextIndex.QueryParser, line 193, in _parseAndExpr
  Module Products.ZCTextIndex.QueryParser, line 210, in _parseNotExpr
  Module Products.ZCTextIndex.QueryParser, line 223, in _parseTerm
  Module Products.ZCTextIndex.QueryParser, line 242, in _parseAtom
  Module Products.ZCTextIndex.QueryParser, line 170, in _get
  Module Products.ZCTextIndex.QueryParser, line 156, in _require
ParseError: Token 'ATOM' required, u'AND' found

有人可以解释一下 Plone 的 LiveSearch 中搜索背后的逻辑是什么吗?有什么办法可以避免这种情况,或者我可以忽略日志文件中的这些消息吗?

4

1 回答 1

2

忽略它们,这是 ZCTextIndex 行为。错误只是被记录下来,查询什么也不返回。在您的 plone 站点中某处成为“word”并被索引,尝试在 plone 中搜索诸如“AND word OR”之类的内容,即使存在“word”也看不到任何返回。尝试仅搜索“单词”,您会看到结果。

于 2011-07-29T07:12:53.187 回答