Solr 6.5.1按顺序搜索第一个完整匹配第二个从左到右匹配
我使用lucene进行索引,使用solr进行搜索并满足以下要求 示例:“测试五”Solr 6.5.1按顺序搜索第一个完整匹配第二个从左到右匹配,solr,lucene,Solr,Lucene,我使用lucene进行索引,使用solr进行搜索并满足以下要求 示例:“测试五” 最高优先级-同时具有“Test”和“Five”的单词 下一步-只剩下大多数单词“Test”的单词 下一个–列表中的下一个单词-“五”(从左到右)等 请找到我的模式 <field name="name" type="text_general" indexed="true" stored="true"/> <field name="acSearch" type="searchFieldType" re
<field name="name" type="text_general" indexed="true" stored="true"/>
<field name="acSearch" type="searchFieldType" required="false" indexed="true" stored="false" multiValued="true" />
<copyField source="name" dest="acSearch" />
<fieldType name="searchFieldType" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.PatternTokenizerFactory" pattern="[,]+" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.PatternTokenizerFactory" pattern="[,]+" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer></fieldType>
solrconfig.xml
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="wt">json</str>
<str name="indent">true</str>
<str name="fl">name</str>
<str name="rows">200</str>
<str name="df">dySearch</str>
<str name="sort">score desc</str>
</lst>
<arr name="components">
<str>query</str>
</arr>
json
真的
名称
200
研究困难
分数描述
查询
如果我搜索的话,我不会被适当地释放
1.测试5响应测试5先到下一个不是从左到右数据以任何顺序出现
请您帮助……您可以在构建查询字符串时对每个术语进行不同的增强:
q=Test^10 Five^3 last^1
有了这个,你就不必去搞乱ngram等,只需使用一些标准分析仪请找人帮忙解决上述问题