我正在做一些分面搜索,但有一些问题.当分面搜索字段中有多个单词时,我无法获得所需的结果.
示例:"animal"字段,包含以下条目:
A horse
Black horse
Black horse
Run Code Online (Sandbox Code Playgroud)
La faceted搜索发回"horse(3)"作为最佳结果,而我想回到"Black horse(2)".
这是schema.xml.搜索字段是BUSQUEDA,分面字段是SUPERFICIE.我想我已经尝试了这两个字段的大多数已定义类型的可能组合,但仍然不起作用.
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.2">
<types>
<fieldType name="string" class="solr.StrField"/>
<fieldType name="facet_texPersonal" class="solr.StrField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>
<fieldType name="facet_tex" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"
enablePositionIncrements="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1"
catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer …Run Code Online (Sandbox Code Playgroud) 我正在一个在Lucene中拥有大量数据的项目中工作.我们需要显示分面搜索,并且在尝试使用常规Lucene访问进行模拟时,所需的时间是不可接受的.
我一直在阅读关于Solr的内容,但教程对这个基本点并不十分清楚:
使用Solr和Lucene以相同的方式存储数据吗?我的意思是,我可以使用Solr访问我用Lucene存储的数据,还是必须进行数据迁移?