solr - 如何搜索:) in Solr

标签 solr

如何在 Solr 中搜索特定的标点符号,例如 :)?我已尝试对文本进行 URL 编码,但仍然收到此消息:

org.apache.solr.search.SyntaxError: Cannot parse ':': Encountered " ":" ": "" at line 1, column 0.
Was expecting one of:
<NOT> ...
"+" ...
"-" ...
<BAREOPER> ...
"(" ...
"*" ...
<QUOTED> ...
<TERM> ...
<PREFIXTERM> ...
<WILDTERM> ...
<REGEXPTERM> ...
"[" ...
"{" ...
<LPARAMS> ...
<NUMBER> ...
<TERM> ...
"*" ...

此外,我需要在文本字段而不是字符串字段上执行此搜索。我应该如何配置分析器以保存标点符号?

请注意 searching google由于两个名为“Smiley”的多产 Solr 贡献者,这个主题是不可能的!

最佳答案

您对文本字段进行了哪些配置?
你应该注意拆分不会发生在标点符号上,例如如果使用 StandardTokenizerFactory 或单词分隔符过滤器。
您可以使用 WhitespaceTokenizerFactory 或 KeywordTokenizerFactory 定义自定义字段,并在其上添加更多过滤器(如小写字母)。

此外,Solr/Lucene 还使用一些字符进行某些操作,例如+ - ! ( ) { } [ ] ^ "~ * ? :
您需要使用反斜杠转义特殊字符。检查Escape Special Characters

关于solr - 如何搜索:) in Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711487/

相关文章:

java - 标题中的句点在 SOLR 中不可搜索

java - jetty 容器上的 solr 配置

java - Heroku 上的 hibernate 搜索

tomcat - Solr4.0与Tomcat 7安装报错

java - Solr new HttpSolrClient.Builder( str ) 导致 java.lang.NoClassDefFoundError : org/apache/http/impl/client/SystemDefaultHttpClient

java - 如何使用 Spring Data Solr 实现多核和存储库的自定义 Solr 存储库

database - Dspace双重写入RDBMS和SOLR与并发

search - 是否可以在一个 solr 集合下包含集合架构的字段子集的文档?

solr - 尝试启动 Solr 时导致 Java 异常 "Address already in use"的原因是什么?

solr - 将文件发布到 solr 时出现未知命令错误