搜索多个单词时Solr search不工作
当最终用户试图搜索包含多个单词的项目时,我发现我的应用程序出现了问题。例如,我有一个标题字段,它的值是“两个单词”。如果我搜索“两个字”,我可以把物品拿回来,如果我搜索“两个字”,我什么也得不到 我使用SolrNet获取结果,但我真的不认为这是我获取结果的方式。我认为这与标题字段的标记化方式有关 总之,这里是我的Solr模式文件的压缩版本:搜索多个单词时Solr search不工作,solr,solrnet,Solr,Solrnet,当最终用户试图搜索包含多个单词的项目时,我发现我的应用程序出现了问题。例如,我有一个标题字段,它的值是“两个单词”。如果我搜索“两个字”,我可以把物品拿回来,如果我搜索“两个字”,我什么也得不到 我使用SolrNet获取结果,但我真的不认为这是我获取结果的方式。我认为这与标题字段的标记化方式有关 总之,这里是我的Solr模式文件的压缩版本: <?xml version="1.0" ?><schema name="staging" version="1.1"> <ty
<?xml version="1.0" ?><schema name="staging" version="1.1">
<types>
<fieldType name="ignored" indexed="false" stored="false" class="solr.StrField" />
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
<fieldType name="long" class="solr.LongField" omitNorms="true"/>
<fieldType name="text_tokenized" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="../lang/en/stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="50"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="../lang/en/stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="../lang/synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true" />
<field name="title" type="text_tokenized" indexed="true" stored="true" multiValued="true" />
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>title</defaultSearchField>
<solrQueryParser defaultOperator="AND"/>
身份证件
标题
显然,我的模式包含其他字段,但我现在只显示了几个字段
有人看到问题了吗?是您在stopwords文件中搜索的单词之一吗?您是否正在执行短语搜索,如
标题:“两个单词”
,或使用或类似标题:(两个或多个单词)
?Arun-我的stopwords文件实际上是空的。我正在做这样的搜索标题:“两个字”。这有什么关系吗?嗯,搜索是否为您返回结果?此外,您还可以尝试在Solr admin UI中使用分析工具,查看两个单词的索引方式。