我有一个包含很多单词的字段,例如:
“你好,我的名字是Nicole,我正在与Solr合作”
如果我搜索这些单词,我需要Solr返回此文档(注意单词顺序不像索引文本中那样):
“我的名字是”
我正在使用此配置
<fieldType name="propertiesField" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.PatternTokenizerFactory" pattern="-" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
和这个查询:
选择/ Q = properties_all:AM-名称与&安培;版本= 2.2&安培;开始= 0&安培;行数= 10安培;缩进=上
当我使用分析器对其进行分析时,这些单词会突出显示,但在搜索时找不到文档。
感谢您的帮助!!!!
答案 0 :(得分:1)
如果没有充分的理由使用不同的索引和查询时间分析器,请不要。
我想使用fieldType:
<fieldType name="propertiesField" class="solr.TextField">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
另外将默认运算符设置为AND(模式文件)
<solrQueryParser defaultOperator="AND"/>
然后用:
查询Solrselect/?q=properties_all:(am name with)&version=2.2&start=0&rows=10&indent=on