Solr不接受带点的查询
我现在一次又一次地遇到一个问题。我在Plone 4.2.6系统上使用集体Solr 4.1.0搜索。目前,当省略搜索时,只要搜索框中没有通配符,它就可以正常工作。比如说Solr不接受带点的查询,solr,lucene,plone,Solr,Lucene,Plone,我现在一次又一次地遇到一个问题。我在Plone 4.2.6系统上使用集体Solr 4.1.0搜索。目前,当省略搜索时,只要搜索框中没有通配符,它就可以正常工作。比如说 马修·罗杰斯教授 工作正常,结果良好,如“马修·罗杰斯教授” 当我省略搜索时 马修·罗杰斯教授 Solr不会返回任何结果 我检查了这个平台上关于这个或关闭问题的所有其他问题,但没有一个得到正确回答。你们有没有人知道为什么当我搜索包含点的东西时,Solr查询过程会中断?非常感谢您的帮助 collective.solr有一个很
马修·罗杰斯教授
工作正常,结果良好,如“马修·罗杰斯教授”
当我省略搜索时
马修·罗杰斯教授
Solr不会返回任何结果
我检查了这个平台上关于这个或关闭问题的所有其他问题,但没有一个得到正确回答。你们有没有人知道为什么当我搜索包含点的东西时,Solr查询过程会中断?非常感谢您的帮助 collective.solr有一个很好的特性,您可以使用plone搜索中的lucene查询语法查询solr 查询解析器语法: --> collective solr有一个简单的测试,如果它应该使用collective.solr中的设置来破坏您的搜索查询,或者如果它将它作为一个简单的lucene查询传递给solr 如果您的术语不匹配,collective.solr将假定您正在尝试使用简单的lucene语法进行查询,因此在您的情况下不会显示任何结果 几周前,我面临同样的问题,您有以下选择:
如果您永远不想使用lucene查询语法,最好的解决方案是准备类似于标记器的术语 谢谢你的回答!我刚刚意识到,对于一个字段,我使用了错误的
field\u type
,它没有标记器。我修正了这个问题,仍然没有回答。然而,在另一台所有字段都标记化的服务器上,它可以工作。这是因为索引值也必须标记化吗?我还没有在我的新服务器上重新编制索引。但是我认为只修改schema.xml是可行的,因为我只关心查询。您需要提前准备提交给solr的查询,就像在SearchViewlet
中一样。由于solr不显式搜索”
,因此可以在查询solr之前删除它。在您的情况下,正则表达式或简单的replace可以完成这项工作。
simpleTerm = compile(r'^[\w\d]+$', UNICODE)
...
simpleCharacters = compile(r'^[\w\d\?\*\s]+$', UNICODE)