开始与搜索字符串,(为什么你需要转义特殊字符,你需要让他们在索引和查询时间记号化在他们两个?):
<!-- 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" />
<!-- 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" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
这是学习如何在索引和查询时处理文本的好地方。非常有用的管理工具:http://localhost:8983/solr/#/collection1/analysis
thx。但是,这只能在像“name = aaa”这样的文档中找到aaa,但不能在没有像“name = aaa”之类的空间的文档中找到。我需要在两者中找到aaa。 – axelrod
为您认为它不起作用的示例发布完整的solr查询。 – Arun