由于某种原因,我的SOLR安装不可靠(我也是这个话题的新手)
示例:在我的数据库中,我有一个名为"Brandname XX-7 Yadda Ladida“的条目,
如果我搜索:
Brandname XX7--我一点也不了解结果(前20位)Brandname XX-7i获得第8位的预期结果,第一位由"Brandname XX-2 Yadda Ladida“项目占据。Brandname XX-7 Ladidai得到了第7位的预期结果;第一位是"Brandname XX-2 Yadda Ladida“项。Brandname XX-7 Yadda Ladidai再次获得了第7位的预期结果;第一位是"Brandname XX-2 Yadda Ladida“项。
PS。每件事都是大小写不敏感的
我做错什么了?请告诉我..。
这是我的托管模式xml文件http://pastebin.com/Z9nc36QD。
更新这是一个搜索"boss dd-7“的示例查询。
"debug":{
"rawquerystring":"Brandname xx-7",
"querystring":"Brandname xx-7",
"parsedquery":"_text_:Brandname (_text_:xx _text_:7)",
"parsedquery_toString":"_text_:Brandname (_text_:xx _text_:7)",发布于 2016-10-22 18:48:23
好的,它不是通过移除我的模式中的这一行来工作的。
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="25" />加上
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />我的最后代码(考虑我的字段是text_general)
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>https://stackoverflow.com/questions/39988646
复制相似问题