gpt4 book ai didi

java - Lucene搜索引擎中使用自建方法

转载 作者:行者123 更新时间:2023-12-02 02:06:39 24 4
gpt4 key购买 nike

我正在寻找一个合适的搜索引擎,我可以在其中使用我自己的相似性度量和标记化方法。 Lucene 搜索引擎是为此目的引入的一个很好的搜索引擎,但我对此一无所知。我在网上搜索了Lucene搜索引擎新版本的教程,但大多数页面都是几年前的。我的一些问题如下:

  1. 是否可以更改相似性度量、标记化和词干分析方法并使用 Lucene 中的自建类?如果是,该怎么做?

  2. 我们为关键字搜索或短语搜索对文本进行索引的方式有什么区别吗?我应该为关键字搜索和短语搜索创建两个不同的索引吗? (我想如果我们删除停用词,它会影响短语搜索的结果,如果我不删除停用词,它会影响关键字搜索的结果,不是吗?)

    <

有关此主题的任何信息都值得赞赏。

最佳答案

这是可能的,是的,我们在我的工作场所通过几个解决方案做到了这一点。 Here is a reasonable tutorial on how to do this 。本教程使用 Solr,这是一个很好的 Lucene 实现。直接回答您的问题:

  1. 是的,有一种方法可以通过重写接口(interface)并提供您自己的实现来做到这一点(请参阅教程)。无需重写 Solr 默认配置中的类即可完成标记化,具体取决于您需要使用标记化获得的时髦程度。

  2. 是的,创建将返回准确结果的索引是了解用户将如何搜索索引的一种措施。话虽如此,查询搜索的复杂性很大一部分来自于人们希望匹配结果浮到结果列表的顶部,这是通过评分完成的。鉴于您似乎想要覆盖评分,这对您来说可能并不重要。您应该注意,默认情况下,Lucene 对多列的匹配会比在单列上精确匹配的匹配要高。这意味着,如果您跨许多列存储数据(并且默认情况下您跨许多列进行搜索),您的搜索将变得越来越不“准确”。

针对单列的全文搜索往往是相当准确的短语与单词,但最终会得到一个相当大的索引。

关于java - Lucene搜索引擎中使用自建方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50666114/

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