gpt4 book ai didi

solr - 如何在 solr 搜索期间忽略点和其他字符

转载 作者:行者123 更新时间:2023-12-05 07:27:51 24 4
gpt4 key购买 nike

我在 solr 字段中有引用编号,如下所示:

L2.816.4.53.2
42010N-0002
42010N/0002

现在我想搜索它并匹配不带点/破折号/斜杠的字符串:

L28164532
42010N0002
42010N0002

我如何用 solr 做到这一点?当前搜索 ref:L28164532 不会返回结果,因为没有存储这样的值。

最佳答案

您可以为您的字段尝试以下字段类型吗:

<fieldType name="text_wd" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<!-- Splits words based on whitespace characters -->
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<!-- splits words at delimiters based on different arguments -->
<filter class="solr.WordDelimiterGraphFilterFactory" preserveOriginal="1" catenateNumbers="1"/>
<!-- Transforms text to lower case -->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>

<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

WordDelimiterGraphFilterFactory 有许多属性,使用这些属性将帮助您获得所需的结果。您可以阅读有关 WordDelimiterGraphFilterFactory 的更多信息 here

例如 catenateWordscatenateAllcatenateNumbers。根据要求修改属性。修改后,您可能需要重新启动服务器。您可以使用 Solr 管理 UI 进行这些尝试和测试。

关于solr - 如何在 solr 搜索期间忽略点和其他字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744143/

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