我的字段定义为
<fieldType name="text_name" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="16"/>
</analyzer>
</fieldType>
然后我在solr admin中测试查询
使用引号查询,第二个查询不起作用
Input: q : real_name:"单"
Output: {"id": 1, "real_name": "单鑫鑫"}
Input: q : real_name:"单鑫"
Output: {}
Input: q : real_name:"单鑫鑫"
Output: {"id": 1, "real_name": "单鑫鑫"}
不带引号查询,第二个查询有效
Input: q : real_name:单
Output: {"id": 1, "real_name": "单鑫鑫"}
Input: q : real_name:单鑫
Output: {"id": 1, "real_name": "单鑫鑫"}
Input: q : real_name:单鑫鑫
Output: {"id": 1, "real_name": "单鑫鑫"}
那么,双引号的含义是什么意思????
答案 0 :(得分:-1)
双引号用于短语。在Lucene搜索工作如下,
field1:foo
field2:"foo bar"
field3:foo bar
对field1和field2的搜索将按预期工作,而field3很可能会出错,因为它会将“bar”视为与搜索分开。