首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在solr中划分词组?

如何在solr中划分词组?
EN

Stack Overflow用户
提问于 2014-04-18 08:09:39
回答 1查看 2.6K关注 0票数 4

最近,我一直在尝试将facet应用到有多个单词(一个短语)的字段中。有人建议我使用瓦,但我不确定这是否会如预期的那样起作用,因为所需的短语应从给定的清单中摘取。

例如:当我将facet应用到一个字段时,我得到了“Information”和“Technology”的单独的方面,而我希望它是像“信息技术”这样的单一方面。

如何在特定的领域中划分特定的短语?

编辑:所需字段的架构如下所示:

代码语言:javascript
运行
复制
<fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>

        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
        <!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
             possible with WordDelimiterFilter in conjuncton with stemming. -->
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
      </fieldType>

带状过滤器不起作用,因为它显示了信息技术的三个方面:信息技术、技术和信息技术。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-21 02:44:52

问题似乎是,小面字段词在索引中被分析器分割。如果您想要在有潜在多个单词的字段上进行切分,那么我们应该使用不拆分单词的分析器。它可以是solr中的“复制字段”,这样索引过程就不会发生真正的变化。例如,您可以有如下所示的内容。

<field name="facet_text_en_nosplit" type="string" indexed="true" stored="false" multiValued="true"/>

在facet查询中使用上面的字段。

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

https://stackoverflow.com/questions/23150062

复制
相关文章

相似问题

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