gpt4 book ai didi

solr - 如何在solr中分词?

转载 作者:行者123 更新时间:2023-12-01 05:39:10 26 4
gpt4 key购买 nike

最近我一直在尝试将 facet 应用于具有多个单词(短语)的某些值的字段?有人建议我使用带状疱疹,但我不确定这是否会按预期工作,因为应从给定的列表中提取所需的短语。

例如:当我将方面应用于一个领域时,我会得到“信息”和“技术”的单独方面,而我希望它是像“信息技术”这样的单一方面。

如何对特定领域中的特定短语进行刻面?

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

<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>

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

最佳答案

问题似乎是分析器在索引中拆分了分面字段词。如果您想对可能有多个单词的字段进行分面,那么我们应该使用不拆分单词的分析器。它可以是 solr 中的“复制字段”,以便您的索引过程不会真正改变。例如,您可以有如下内容。
<field name="facet_text_en_nosplit" type="string" indexed="true" stored="false" multiValued="true"/>
在构面查询中使用上述字段。

关于solr - 如何在solr中分词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23150062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com