Solr 您的意思是(拼写检查组件)

2024-05-07

我在我的应用程序中使用 solr,并集成了拼写检查组件,但我遇到了一些问题:

第一的 : 当我输入一个用空格分隔的术语时,他们会给我每个术语的更正

Eg : “水” => “什么术语”但事实是watters

第二 : 当我输入一些带有错误术语的短语时。尽管其他术语是正确的,但它们将拼写应用于所有术语。

Eg : "差异性 in lankuage使用约定” =>“语言使用的差异转换".

真实的是“语言使用惯例的差异”

这是我的配置solrconfig.xml :

<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
            <str name="queryAnalyzerFieldType">textSpell</str>
            <lst name="spellchecker">
                <str name="name">default</str>
                <str name="field">spell</str>
                <str name="spellcheckIndexDir">spellchecker</str>
            </lst>
</searchComponent>

<requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
            <lst name="defaults">
                <str name="spellcheck.onlyMorePopular">true</str>
                <str name="spellcheck.extendedResults">false</str>
                <str name="spellcheck.count">1</str>
            </lst>
            <arr name="last-components">
                <str>spellcheck</str>
            </arr>
</requestHandler>

架构.xml:

字段类型:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
            <analyzer type="index">
                <tokenizer class="solr.StandardTokenizerFactory"/>
                <filter class="solr.LowerCaseFilterFactory"/>
                <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1"/>
                <filter class="solr.ASCIIFoldingFilterFactory" />
                <filter class="solr.SnowballPorterFilterFactory" language="English"/>
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.StandardTokenizerFactory"/>
                <filter class="solr.LowerCaseFilterFactory"/>
                <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
                <filter class="solr.ASCIIFoldingFilterFactory" />
                <filter class="solr.SnowballPorterFilterFactory" language="English"/>
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
            </analyzer>
            <analyzer type="multiterm" >
                <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                <filter class="solr.ASCIIFoldingFilterFactory" />
            </analyzer>
        </fieldType>


    <fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
                <analyzer type="index">
                   <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                     <filter class="solr.LowerCaseFilterFactory"/>
                     <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
                     <filter class="solr.StandardFilterFactory"/>
                     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
                </analyzer>
                <analyzer type="query">
                     <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                     <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
                     <filter class="solr.LowerCaseFilterFactory"/>
                     <!--<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>-->
                     <filter class="solr.StandardFilterFactory"/>
                     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
                </analyzer>
            </fieldType>

领域:

<field name="title" type="text" indexed="true" stored="true" termVectors="true"/>
<field name="spell" type="textSpell" indexed="true" stored="true" multiValued="true"/>

复制字段

<copyField source="title" dest="spell"/>

我很感激你的帮助

Cheers


对于你的第一个问题,你可以使用断字拼写检查器 https://issues.apache.org/jira/browse/SOLR-2993

至于你的第二个问题你可以设置 <str name="spellcheck.onlyMorePopular">true</str> to <str name="spellcheck.onlyMorePopular">false</str>看看这是否有预期的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Solr 您的意思是(拼写检查组件) 的相关文章

  • Solr 中的多值字段排序

    我有一个 Solr 索引 将每个产品的价格存储在多值字段中 我需要按价格对结果集进行排序 其中价格从低到高 从高到低 我尝试对价格进行排序 它显示错误您无法对 multivalued True 字段进行排序 下面是我的 solr XML
  • 如何在不使用 SPLITSHARD 的情况下动态向 SolrCloud 添加节点?

    我已经设置了Solr云有 4 个碎片 我向 SolrCloud 添加了 8 个节点 4 个领导者和 4 个副本 每个节点运行在不同的机器上 但后来我发现我的数据越来越多 每天400万文件 这样我的 4 个分片就不够用了 因此 我想动态地向该
  • MIME 类型/内容类型,用于在 IE 和 Firefox 中使用 Excel 打开 CSV 文件

    我在 Excel 中识别并打开 CSV 输出时遇到问题 在我的 Web 应用程序中 我有一个 java servlet 它将搜索结果返回给用户 搜索结果由 Apache Solr 服务器提供 GUI 前端有一个选项 允许用户请求 CSV 格
  • Solr 4.0 中的 BaseTokenFilterFactory 去哪儿了?

    用于创建您自己的标记和字符过滤器的 Solr 文档说明如下 http wiki apache org solr AnalyzersTokenizersTokenFilters Specifying an Analyzer in the sc
  • 在solr中获取pdf搜索结果的页码

    我正在构建一个 Web 应用程序 用户可以在其中搜索 pdf 文档并使用 pdf js 查看它们 我想显示搜索结果 其中包含找到搜索词的段落的简短片段以及用于在右侧页面打开文档的链接 所以我需要的是每个搜索结果的页码和简短的文本片段 我正在
  • 使用 sunspot/solr 搜索多个模型

    我已经能够成功地实现基本的全文搜索 但是当我尝试使用范围 with statements 时 任何涉及多对多关系模型的查询似乎都不适合我 我知道相关行位于数据库中 因为我的 sql 语句确实返回了数据 然而 太阳黑子查询不会返回任何结果 我
  • 如何使用 Solr 索引 pdf 内容?

    我正在尝试使用 SolrJ 索引一些 pdf 文档 如下所述http wiki apache org solr ContentStreamUpdateRequestExample http wiki apache org solr Cont
  • 在 solr 8 中的 fl 中使用父过滤器时获取“当架构嵌套时不应发送父过滤器”

    我正在尝试使用子文档获取父文档 但得到 当模式嵌套时不应发送父过滤器 error 附上下面我尝试过但无法得到解决方案的查询 q parent which content type person fl child parentFilter c
  • Solr 索引时间提升 VS 查询时间提升?

    问题 1 我们可以只进行查询时间提升 使用 dismax 而不在索引时间提及提升值吗 问题 2 与查询时间提升相比 索引时间提升有何优点 缺点 反之亦然 查询时间和索引时间提升 在索引时 您可以选择提升特定文档 整个文档或仅一个字段 它作为
  • Solr/Solrj 分页

    我正在创建的 Web 应用程序中使用 solr 和 solrj 来实现索引和搜索功能 我的请求处理程序在 solrconfig xml 中配置如下
  • NoSQL(MongoDB)与 Lucene(或 Solr)作为数据库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着基于文档数据库的 NoSQL 运动的发展 我最近关注了 MongoDB 我注意到如何将项目视为 文档 就像 Lucene 以及 Solr 用
  • simplexml_load_file 在 Solr 的 url 中带有 &(与号)

    我正在使用 Solr 并有以下查询 该查询在我的浏览器中运行良好 http www someipaddress com 8983 solr select q fq shopid 40 start 0 rows 18 fq manufactu
  • 有没有推荐的与 Lucene 或 Solr 一起使用的爬虫工具? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何减少solr内存使用?

    我在我的应用程序中使用 solr 只有数百个文档 内存占用80M左右 如何减少 80M 并不多 事实上它几乎是最低限度 你不会比这个低很多 影响内存使用的一些因素 输入文档尺寸 多线程文档更新 缓存大小 分面查询 Sorting 参考 ht
  • 通过 C# 访问 Google 拼写/建议 API [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在我正在开发的应用程序中使用 Google 的拼写纠正 建议 我用 google 搜索过 但发现的只是 Google 取消的 SO
  • 在 solr 的类路径中找不到资源“solrconfig.xml”

    problem 我无法访问 solr 管理页面 当我在本地系统上运行 url 时 response
  • 由于 3rd 方库的位置,启动 Solr cloud 时出错

    我尝试迁移到 Solr 3 1 我的项目使用 Dataimport handler 当我启动 solr 时 它问我找不到 SolrCoreAwar 我将以下文件复制到 lib 目录 apache solr dataimporthandler
  • SolrNet:尝试添加和提交时 SolrConnectionException (400) 错误请求

    我已经到了 SolrNet 执行 Add 方法的地步 但是当我尝试 Commit 时 我收到了错误 以下是我的 schema xml 模型 调用它的代码以及我得到的错误 更奇怪的是 尽管出现错误 但在我重新启动 Tomcat 后 该模型仍会
  • 如何过滤 Solr 中多值字段返回的值

    我有一个文档 其中包含一个名为 uuid 的字段 该字段是一个列表 多值 每个文档最多可以有 100k 个值 例如 我想搜索与以 5ff6115e 开头的 uuid 匹配的文档 我已经可以通过使用成功做到这一点q uuids 5ff6115
  • 在生产环境中使用 Rails 设置 sunspot solr

    我尝试了各种链接 但我似乎找不到关于创建与生产中的 Rails 一起运行的 solr 实例的好资源 我知道您必须为生产设置 solr 服务器 我已经尝试使用 tomcat 设置 solr 但我似乎无法将其链接到 Rails 应用程序 有什么

随机推荐

  • Pandas dataframe ,使用 iloc 替换最后一行

    我正在尝试使用 iloc 替换 Pandas 数据帧的最后一行 但是我无法让它工作 有很多解决方案 但最简单 最慢 的是这里 如何在 Python 中对 Pandas 数据帧上的行进行 FIFO 推送操作 https stackoverfl
  • 如何使用 Python 从 Azure Functions 中的辅助线程重定向日志

    我正在使用 Azure 函数运行启动多个线程的 Python 脚本 出于性能原因 一切都按预期工作 但 Azure Functions 日志中仅显示来自 main 线程的信息日志 我在 main 中启动的 辅助 线程中使用的所有日志都不会出
  • JavaFX 3D 面孔着色...再次

    我研究了这个question https stackoverflow com questions 26831871 coloring individual triangles in a triangle mesh on javafx 但我还
  • 如何使用pdfbox获取字体大小

    有谁知道 TextPosition 中的 getFontSize 方法是否总是返回 1 我应该只使用 getFontSizeInPt 来获取字体的大小吗 我遇到的问题是 getFontSizeInPt 有时会为相同大小的文本返回不同的值 对
  • 获取 Prometheus 中两个自定义时间戳之间的增量

    我有一个名为的普罗米修斯指标device number 我想要的是显示现在与一天 一周 一个月等之前的价值差异 这意味着减去具有两个不同时间戳的两个值 环顾四周 我没有找到任何关于如何执行此操作的有用文档 我想做但不起作用的是 sum de
  • JFreeChart奇怪的渲染(无头RedHat)

    我目前正在将一个应用程序从 Windows 环境迁移到 Redhat 环境 该应用程序使用 JfreeChart 1 0 6 它是部署在运行 Open JDK6 的 Redhat 无头环境中的 tomcat 7 中的 Web 应用程序 我得
  • 使用 WordPress 中的钩子在帖子更新(自定义帖子类型)后获取更新值

    我想获得更新后操作的最新更新值 我已经使用了 save post post updated publish post挂钩但全部返回旧值 但我同时需要当前更新值 我试过下面的代码 add action post updated wpse634
  • Materialize CSS,显示自动完成芯片的图像

    文档物化芯片 http materializecss com chips html展示您可以用图像制作芯片 div class chip img src images yuna jpg alt Contact Person Jane Doe
  • 如何添加到 OrientDB 中的空间索引?

    我正在使用工作室的 OrientDB 2 0 我使用文档中的代码成功创建了 Lucene 空间索引 CREATE class Place extends V CREATE property Place name string CREATE
  • 更改列名称的字母大小写

    我有大量数据集 每个数据集都包含一长串列名 在某些文件中 列名称全部大写 而在某些文件中 仅列名称的第一个字母大写 我需要附加数据集 并认为匹配数据集中的列名称的最简单方法是将全大写名称转换为仅第一个字母大写的名称 我希望找到一个通用的解决
  • 如何从symfony2中的现有表生成实体?

    我有带有一些字段的表 my table 我想在 MyBundle 中使用 my table 生成实体 但我不想重新创建 MyBundle 中的所有实体 我怎样才能做到这一点 这是你可以做到的方法 第一步 要求Doctrine自省数据库并生成
  • npm install 冻结并显示 IdealTree:chatting: sill IdealTree buildDeps

    当我安装任何东西时 npm 冻结了 即使删除 package lock json 也没有任何变化 这里有一个类似的问题 https stackoverflow com questions 50522376 npm install hangs
  • 如何以编程方式获取 Android 项目(非设备)中支持的语言列表

    在一些项目中我们可能会出现这种情况 如何以编程方式获取此应用程序 项目支持的语言列表 结果我需要这样的字符串数组 en bg bs da de hr it nl pl pt sk sr tr 当然 我可以通过键入它来对其进行硬编码 但我认为
  • 在 Bootstrap 导航栏后添加一些空间的最佳方法是什么?

    以下代码始终在页面顶部显示导航栏 我需要将第二个容器 内容 放置在导航栏的末尾而不是其下方 目前第二个容器位于导航栏下方 我可以在内容顶部添加一些空白 但我不确定这是一个好方法 知道如何解决吗 div class container div
  • 将 CSS 类应用于 asp:Hyperlink 中的图像?

    我使用 asp Hyperlink 根据 URL 中的参数动态呈现链接图像 我需要能够将 CSS 类添加到渲染的 img 中 但不知道如何做到这一点 我知道我可以将 CssClass blah 添加到asp Hyperlink 但在渲染的H
  • CSS3 过渡卡住了

    我们的新网站上正在进行很多转换 有一个特别之前工作得很好 但自从添加谷歌地图后 某种过渡效果不会触发 此外 它还会禁用网站上的所有其他过渡效果 直到触发另一个 javascript 函数 我不知道为什么 但这些就是事实 该问题似乎仅限于 S
  • 我的 QSqlQueryModel 不在列表视图中显示数据

    我正在玩 QSqlQueryModel 但我现在完全陷入困境 我一整天都在寻找解决方案 但到目前为止还没有运气 我所做的工作是它从我的 sqlite 数据库中提取数据 但由于某种原因我无法在列表视图中显示它 我的角色名似乎不存在 对于我从数
  • Typescript 1.8 模块:从文件夹导入所有文件

    我正在使用 Typescript 构建一个大型库 其中包含 100 个独立的 ts 文件 以前我用过导出模块XXX 重命名为导出命名空间 XXX稍后 对于我的所有课程 但正如书籍所说 这不是推荐的方法 我应该使用 import 代替 所以我
  • ActiveSupport 如何计算月度总和?

    我很高兴也很惊讶地发现 ActiveSupport 按照我想要的方式进行月度汇总 无论相关月份中有多少天 添加1 month对特定的Time将使您在该月的同一天着陆Time gt Time utc 2012 2 1 gt Wed Feb 0
  • Solr 您的意思是(拼写检查组件)

    我在我的应用程序中使用 solr 并集成了拼写检查组件 但我遇到了一些问题 第一的 当我输入一个用空格分隔的术语时 他们会给我每个术语的更正 Eg 水 gt 什么术语 但事实是watters 第二 当我输入一些带有错误术语的短语时 尽管其他