我有一些文件Solr 4.0
。 我想首先显示,然后不太相关的人最相关的记录。
对于例如,我有一个题目如下3个文件 -
- 迈向收入分配政策
- 收入分配与经济政策
- 发展中国家的收入分配政策
现在,当我查询像q=title:Income Distribution Policy
,
我想文件号3至第一显示(作为第一3个字是完全匹配),那么我想要的文件号1至第二显示(如除了“朝”剩余匹配),那么我所需的文档数2现身(因为有一些单词之间)。
我的schema.xml
看起来是这样的-
<types>
<fieldType name="search" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="German2" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="German2" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<field name="title" type="search" indexed="true" stored="true"/>
</fields>
编辑1调试输出
"rawquerystring": "title:Income Distribution Policy",
"querystring": "title:Income Distribution Policy",
"parsedquery": "title:incom title:distribut title:polici",
"parsedquery_toString": "title:incom title:distribut title:polici"
编辑2改性的字段类型
我用下面的组合,还是输出是一样的。
- StandardTokenizerFactory - autoGeneratePhraseQueries(不存在) - PorterStemFilterFactory。
- StandardTokenizerFactory - autoGeneratePhraseQueries = “真” - PorterStemFilterFactory。
- StandardTokenizerFactory - autoGeneratePhraseQueries(不存在)。
- StandardTokenizerFactory - autoGeneratePhraseQueries = “真”。
- WhitespaceTokenizerFactory - autoGeneratePhraseQueries(不存在) - PorterStemFilterFactory。
- WhitespaceTokenizerFactory - autoGeneratePhraseQueries = “真” - PorterStemFilterFactory。
- WhitespaceTokenizerFactory - autoGeneratePhraseQueries(不存在)。
- WhitespaceTokenizerFactory - autoGeneratePhraseQueries = “真”。