精确搜索字符串中的Solr Query Wildcardquery

时间:2012-04-19 10:12:53

标签: solr solr-query-syntax

我想在schema.xml

中使用以下配置进行通配符查询
<fieldType name="textGeneral" class="solr.TextField" sortMissingLast="true" positionIncrementGap="100">
    <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" preserveOriginal="1"/>
        <filter class="solr.LowerCaseFilterFactory" />
    </analyzer>
</fieldType>

我想找到的数据是The Frick Collection, New York.

当我执行以下查询时q=image_copyright:"frick collection," everthing效果很好。

但是当我尝试添加wildcardsearch q=image_copyright:"*ck collection,"时,我得不到任何结果。

有没有人知道如何使用NGram Tokenizer来减慢索引时间。

编辑2012/04/19 我意识到你可以做这样的事情。 q=image_copyright:*ck?collection,*但这不是100%正确的

2 个答案:

答案 0 :(得分:2)

Solr 4.8增加了对复杂词组查询&#34;的支持,其中包括引用的通配符。

答案 1 :(得分:1)

这是众所周知的未分析通配符查询的问题,请参阅here

截至3.6.0,最近发布,这应该是固定的