我在windows机器上使用apache-solr-3.6.0。我想搜索包含标点符号的短语。示例:
"He said: Hi"
我试图使用\
来逃避标点符号,所以我的网址是:
http://localhost:8983/solr/select/?q="He%20said\:%20Hi"&version=2.2&start=0&rows=10&indent=on&debugQuery=true
但是我发现solr修剪了解析查询中的标点符号,结果是:
<str name="rawquerystring">"He said\: Hi"</str>
<str name="querystring">"He said\: Hi"</str>
<str name="parsedquery">PhraseQuery(text:"he said hi")</str>
<str name="parsedquery_toString">text:"he said hi"</str>
那么如何在不修剪标点符号的情况下查询短语呢?
答案 0 :(得分:0)
您使用的是什么分析仪/标记器?
检查analysis.jsp的行为并进行相应调整。
答案 1 :(得分:0)
根据我的问题here。
似乎问题出现在fieldtype中。 所以当我将模式修改为:
时<field name="text" type="text_ws" indexed="true" stored="true" termVectors="true" multiValued="true"/>
它有效。 text_ws
tokenizer为WhitespaceTokenizerFactory