0

我添加到 solr 索引: "bull", "bulgarie", "bulltin", "bullhead" 。当我按“bul”搜索时,它只给了我带有“bul”的文章

应如何配置 schema.xml 以使用“bull*”示例获取所有结果:“bull”、“bulgarie”、“bulltin”、“bullhead”?

这是schema.xml中的当前配置

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1"/>
        <filter class="solr.ASCIIFoldingFilterFactory" />
        <filter class="solr.SnowballPorterFilterFactory" language="French"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
        <filter class="solr.ASCIIFoldingFilterFactory" />
        <filter class="solr.SnowballPorterFilterFactory" language="French"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
    </analyzer>
</fieldType>
4

2 回答 2

0

Solr 支持通配符查询。这也是范围查询的工作方式。通过以这种方式使用它,您的问题应该得到解决。

字段名:bul*

于 2012-05-28T14:12:37.253 回答
0

您是否尝试过搜索“bul*”?有关 Lucene 中的通配符支持,请参阅http://wiki.apache.org/lucene-java/LuceneFAQ#What_wildcard_search_support_is_available_from_Lucene.3F,我猜这与 Solr 非常相似。

于 2012-05-15T23:31:34.400 回答