我正在处理的应用程序的SOLR索引中的字段定义如下:
<field name="text" type="edge_ngram" indexed="true" stored="true" multiValued="false" />
......以及schema.xml中的其他地方:
<fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="15" />
...
这适用于用户希望进行的大多数搜索,例如它出现了'二重奏'&#39;如果他们搜索了两个单词&#39;,依此类推。
但是,有些用户还希望搜索确切的字符串。例如,只有一条记录包含&#39;这个确切的字符串&#39;在文本字段中的许多其他单词中。如果用户使用引号搜索该字符串,即&#34;这个确切的字符串&#34;,搜索将不会显示任何内容:
http://localhost:8983/solr/collection1/select?q=%22this%20exact%20string%22
省略引号,他们会得到大量的点击,例如任何带有&#39; string&#39;在里面。
因此,据推测,我对田间类型的选择并不是最好的。任何人都可以建议解决这个问题吗?