首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重视包含接近+ solr +太阳黑子的文档

重视包含接近+ solr +太阳黑子的文档
EN

Stack Overflow用户
提问于 2015-06-10 19:06:22
回答 2查看 74关注 0票数 0

我在rails应用程序上工作,这是基于Apache Solr搜索引擎,我们正在使用Sunspot gem。但我面临着一个问题,如果我用and query搜索查询house rent,它会给我成千上万的结果。但是我得到的结果是不相关的。

我期待的文件,其中包含的房子和租赁字彼此接近,这些文件应该是最重要的。但就目前而言,包含更多房屋和租赁文件的文件是最重要的。但是没有任何接近这个词。

我的schema.xml包含以下定义:

代码语言:javascript
复制
<fieldType name="text" class="solr.TextField" omitNorms="false">
  <analyzer>
    <tokenizer class="solr.PatternTokenizerFactory" pattern="[\s,\.;\(\)]+"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
    <charFilter class="solr.HTMLStripCharFilterFactory"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>

要实现这一点,需要做哪些改变?或者任何需要添加的过滤器?

EN

回答 2

Stack Overflow用户

发布于 2015-06-10 22:20:19

你可以试试这个

代码语言:javascript
复制
<fieldType name="shingleString" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
      <analyzer type="index">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.ShingleFilterFactory" outputUnigrams="true" outputUnigramIfNoNgram="true" maxShingleSize="99"/>
        <filter class="solr.PositionFilterFactory" />
      </analyzer>
    </fieldType>
票数 0
EN

Stack Overflow用户

发布于 2015-06-26 16:49:49

使用短语字段并提升它们,或者你可以尝试像"house rent"~5这样的术语提升

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

https://stackoverflow.com/questions/30754491

复制
相关文章

相似问题

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