我在 solr 中搜索特殊字符时遇到问题。我的文档有一个“标题”字段,有时它可能像“泰坦尼克号 - 1999”(它有字符“-”)。当我尝试使用“-”在 solr 中搜索时,我收到 400 错误。我试图逃避这个角色,所以我尝试了“-”和“\-”之类的东西。有了这些更改,solr 不会以错误响应我,但它会返回 0 个结果。
我如何使用该特殊字符在 solr 管理员中进行搜索(例如“-”或“'”?
问候
更新 在这里你可以看到我当前的 solr 方案https://gist.github.com/cpalomaresbazuca/6269375
我的搜索是“标题”字段。
来自 schema.xml 的摘录:
...
<!-- A general text field that has reasonable, generic
cross-language defaults: it tokenizes with StandardTokenizer,
removes stop words from case-insensitive "stopwords.txt"
(empty by default), and down cases. At query time only, it
also applies synonyms. -->
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
...
<field name="Title" type="text_general" indexed="true" stored="true"/>