我试图寻找Solr的实例与Solr.Net 。 我有场body
,其在模式定义:
<field name="body"
type="text_general"
indexed="true"
stored="true"
omitNorms="true"/>
text_general
使用solr.StandardTokenizerFactory
在模式和定义为:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
(我还没有与此字段类型改变任何东西,这是一个我使用Solr的默认安装了)
我想对查询检索词的记录LISTBU5.RCV
,它返回我含结果LISTBU4.RCV
。 喜欢:
Items left on queue: \\111.11.11.11\Lists\SAVELIST\ABC2\LISTBU4.RCV
错误结果:在搜索项末尾的数量是不同的
我查询的代码是:
SolrQueryByField solrQuery = new SolrQueryByField("body", searchTerm);
var result = solr.Query(solrQuery, new SolrNet.Commands.Parameters.QueryOptions
{
Rows = 100, //
Start = 0,
OrderBy = new[] { new SortOrder("ID", Order.DESC) },
});
但是,如果使用文本查询,如:
SolrQuery solrQuery = new SolrQuery("(body:" + "\"" + searchTerm + "\")");
它返回精确的结果。 我知道,在创建文本查询中没有鼓励Solr.Net
,但我应该怎么办呢?
我使用SolrNet.dll
版本0.4.0.2002
使用Solr实例4.4.0
版本。