首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr WildCard搜索问题

Solr WildCard搜索问题
EN

Stack Overflow用户
提问于 2011-09-20 14:45:27
回答 2查看 3.9K关注 0票数 1

我在solr search....The通配符搜索中遇到了一个问题,它似乎工作得很好,但是当我试图在另一个word.....For示例中查找词条时出现了一些问题:"rtebiggestBug",当我搜索最大值时,它没有给出任何结果。

代码语言:javascript
复制
 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <!-- 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.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
     <!--   <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>-->
        <filter class="solr.LowerCaseFilterFactory"/>
     <!--   <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/> -->
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="50" preserveOriginal="1"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
    <!-- <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>-->
        <filter class="solr.LowerCaseFilterFactory"/>
      <!--  <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>-->
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>

另一个问题是,它找不到单词末尾的字符串。例如:我搜索“bug”,找到的是bug,而不是"samplebug“这个词。

如果你能在这个问题上帮助我,那将是非常有帮助的。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-09-20 15:10:08

默认情况下,Solr不支持左截断,比如搜索*bug来查找samplebug

gubelpmas一样,使用solr.ReversedWildcardFilterFactory来颠倒术语并以一种受人尊敬的方式为therm建立索引。solr.ReversedWildcardFilterFactory

这里有一个教程:http://solr.pl/en/2010/12/20/wildcard-queries-and-how-solr-handles-them/

票数 4
EN

Stack Overflow用户

发布于 2011-09-20 15:10:30

您的查询解析器似乎无法处理前导通配符搜索。

您使用的是哪种查询解析器?

扩展的dismax查询解析器支持使用前导通配符进行搜索。你想要检查它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7481138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档