我可以使用哪些 Solr 分词器和过滤器来进行强大的常规站点搜索?

2024-01-01

我想确保搜索,比如说,I.B.M.可以通过搜索找到ibm。我还想确保Dismemberment Plan可以通过搜索找到dismember.

使用 Solr,我可以在分析和查询时使用什么标记器和过滤器来允许两种结果?


对于 IBM => ibm
你需要一个solr。字分隔符过滤器工厂 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.WordDelimiterFilterFactory,这将删除特殊字符并连接单词和数字

catenateWords="1" 将连接单词并将 I.B.M 转换为 IBM。

肢解=>肢解
需要包含一个词干过滤器(例如 solr.PorterStemFilterFactory、solr.EnglishMinimalStemFilterFactory),它将索引单词的根并为具有相同根的单词提供匹配。

此外,您可以使用 solr.LowerCaseFilterFactory 进行不区分大小写的匹配(IBM 和 ibm),使用 solr.ASCIIFoldingFilterFactory 处理外来字符。

您可以随时使用同义词过滤器工厂 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory映射您认为是同义词的单词。

您可以在查询和索引时应用此功能,以便它们在查询和索引时进行匹配和转换,并且结果是一致的。

例如字段类型定义 -

<fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
  <!-- Index and Query time -->
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
        <!-- Stemmer -->
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters

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

我可以使用哪些 Solr 分词器和过滤器来进行强大的常规站点搜索? 的相关文章

  • 在 MySQL 中进行全文搜索的最有效方法

    我有 3 个表 我想查询搜索词文本框 我的查询目前看起来像这样 SELECT Artist FROM Artist Band Instrument WHERE MATCH Artist name AGAINST mysearchterm O
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • REST api 可以通过两个 HTTP 方法公开吗?

    问题是我们有一个复杂的搜索 api 查询字符串 并且希望让用户可以方便地使用 body 所以我们希望同时允许 GET 和 POST 或 PUT 我知道 对于搜索是否为只读操作存在争论 并且根据 REST 标准 它应该只能是 GET 据我了解
  • Solr 不搜索整数?

    我目前正在使用 Solr 为电子商务网站开发搜索引擎 所以我在 schema xml 中得到这两个字段
  • Lucene 4.4.0新增ControlledRealTimeReopenThread示例使用

    在新的 Lucene 4 4 0 版本中 近实时管理器 org apache lucene search NRTManage 已被替换为受控实时重开线程 https issues apache org jira browse LUCENE
  • 算法 - 树中所有节点的最大距离

    所以 找到树中两个节点之间的最长路径相当容易 但我想要的是找到从节点出发的最长路径x到树中的另一个节点 对于所有x 这个问题也可以用以下方式表达 计算从给定的树中可以生成的所有有根树的高度 One way of course is to j
  • 自定义存储库的 Spring Data Solr 优先级

    我需要在 Spring Data Solr 自定义存储库中实现以下内容 X 或 Y 和 Z 我当前的代码如下 Criteria criteria new Criteria x is X VALUE criteria criteria or
  • mysql 修改全文搜索的停用词列表

    我搜索了很多 据说我必须编辑 my cnf 文件来更改停用词列表 我将 my medium cnf 重命名为 my cnf 并添加了 ft query expansion limit 和 ft stopword file 条件 我已经重新启
  • mysql - 有什么方法可以帮助使用另一个索引进行全文搜索?

    假设我有一个 文章 表 其中包含以下列 article text fulltext indexed author id indexed 现在我想搜索特定作者撰写的文章中出现的术语 所以像这样 select from articles whe
  • SpatialQuery 使用 Lucene 进行基于位置的搜索

    我的 lucene 索引已索引纬度和经度字段 如下所示 doc Add new Field latitude latitude ToString Field Store YES Field Index UN TOKENIZED doc Ad
  • 嗖嗖 - 访问 search_page 结果项会引发 ReaderClosed 异常

    下面是一个简单的分页函数 from whoosh import index def search q wix index open dir settings WHOOSH INDEX DIR term Term title q Term c
  • Bing 图像搜索 API 按图像大小过滤

    我正在使用 jsonp 和 jquery ajax 来使用 Bing 图像搜索 API 我能够检索搜索结果 但我无法找到按图像大小过滤结果的方法 我在文档中找不到任何与此相关的内容 有谁知道是否有一种方法可以按图像大小过滤结果或对此进行任何
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • Solr 错误 - 流主体被禁用

    我正在从浏览器 URL 中删除文档 我正在使用 Solr 7 4 0 我正在使用此查询来删除文档 http localhost 8983 solr test update stream body
  • lucene通配符查询带空格

    我有 Lucene 索引 其中包含城市名称 考虑我想搜索 新德里 我有字符串 New Del 我想将其传递给 Lucene 搜索器 并且我期望输出为 New Delhi 如果我生成类似 Name New Del 的查询 它将为我提供所有带有
  • lucene 如何与 Neo4j 配合使用

    我是新来的Neo4j and Solr Lucene 我读到我们可以在 Neo4j 中使用 lucene 查询 这是如何工作的 Neo4j中使用lucene查询有什么用 我还需要一个建议 我需要编写一个应用程序来搜索和分析数据 which
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • 将默认搜索文本添加到搜索框 html

    我正在努力将 搜索 文本添加到搜索框 我正在努力实现 onfocus 消失文本 And onblur 重新出现文本 到目前为止 我已经实现了这一点 但我必须将其硬编码为 html eg
  • Data-config.xml 和 mysql - 我只能加载“id”列

    我在 Windows Server 2012 上安装了 Solr 5 0 0 我想将表中的所有数据加载到 solr 引擎中 我的 data config xml 如下所示

随机推荐

  • Plotly:如何在 Excel 中嵌入完全交互式的 Plotly 图形?

    我正在尝试将交互式绘图 或散景 图嵌入到 Excel 中 为此 我尝试了以下三件事 将 Microsoft Web 浏览器用户窗体嵌入到 Excel 中 如下所示 如何在 Excel VBA 表单中嵌入浏览器 https stackover
  • SQLite WHERE 子句中的 if 语句

    我知道我可以在 SQLite 查询中使用 CASE 语句 但我不知道如何在 WHERE 子句中构建它 实际上我在一个很长的 WHERE 子句中有这个 这只是问题所涉及的部分 AND d gt wines year wines maturit
  • 设备无关像素有什么优点?

    我正在学习WPF WPF 使用与设备无关的像素 但我实在无法理解他们 如果大多数其他应用程序都依赖于设备而 WPF 应用程序不是 为什么它们比依赖于设备的像素更好 他们会脱颖而出吗 设备独立像素的优点是 在指定 UI 时 您可以确定 UI
  • “混蛋注射”和“穷人注射”之间的真正区别是什么

    来自 NET 中的依赖注入 https manning com seemann书上我知道对象图应该创建在Composition Root当您使用该应用程序时 这对我来说很有意义IoC Container 在我见过的所有应用程序中 当尝试使用
  • 使用 Diffie Hellman 密钥交换和椭圆曲线加密进行快速加密

    我一直在尝试使用 Diffie Hellman 密钥交换和椭圆曲线加密快速加密和解密字符串 以下是我遵循的代码 SWIFT代码 let attributes String Any kSecAttrKeySizeInBits as Strin
  • iPhone Dev:UIWebView baseUrl 到文档文件夹中的资源而不是应用程序包

    问候 任何人都可以帮助我找到解决以下问题的方法 将 html 加载到UIWeb视图 using 加载HTML字符串并包括 使用baseURL 资源 例如 CSS 用户文件夹中的图像文件文件目录 和不是来自 MainBundle的应用程序 我
  • 如何在Golang中间件中读取请求体两次?

    在中间件中 我想读取请求正文来执行一些检查 然后 请求被传递到下一个中 间件 其中主体将被再次读取 这就是我所做的 bodyBytes ioutil ReadAll req Body req Body ioutil NopCloser by
  • Facebook 点赞计数在 301 重定向后重置

    我的网站上有一篇文章发布在错误的类别中 我想更改类别 并且由于类别名称是 url 的一部分 因此我向更新后的 url 添加了 301 重定向 那篇文章也有几个赞 但在 301 之后 它被重置为 0 个赞 因为对于 Facebook 来说 这
  • Nuxt3 Vite服务器端口

    我需要为 Nuxt3 配置服务器端口 我尝试这样做 nuxt config ts import defineNuxtConfig from nuxt3 export default defineNuxtConfig vite server
  • 使用 PowerShell 从文本文件中提取列

    我必须从本文中解释的文本文件中提取列 使用 Perl 单行从文本文件中提取列 类似于 Unix cut https stackoverflow com questions 2499746 extracting columns from te
  • Magento,将产品名称传递给联系表单

    Magento 初学者您好 我对术语和名称的了解很差 但我会尽力尽可能清楚地解释这一点 我目前正在配置 Magento 联系表单 以便能够从用户那里收集一些数据产品查看页面 更有趣的是 表单还必须发送一些有关管理员将其放置在页面上的产品的数
  • 何时在 iPhone 中释放 NSString

    我有以下方法 NSMutableArray getPaises NSMutableArray paises paises NSMutableArray alloc init while get new row NSString aPais
  • 扫描 BLE 外设并连接到它

    一般来说 对于 BLE 和移动应用程序编码还相当陌生 我尝试了几个演示并遇到了这个https github com RickRedSix BLE4 0 iOS Swift Demo https github com RickRedSix B
  • MongoDb Pipeline Aggregation排序子子文档

    当尝试使用 MongooseJs 在 Mongodb 中按嵌套数组进行排序时 我遇到了一个小问题 a 一个产品包含任务 每个任务又包含子任务 b 任务有一个顺序 每个子任务也有顺序 task order 和 task subtask ord
  • 使用 Javascript 将用户发送至浏览器主页

    是否可以使用 Javascript 获取浏览器的主页 我想在页面上放置一个链接 该链接可以转到浏览器中设置的主页 编辑 简化答案 识别浏览器并 调用window home 适用于所有浏览器 调用window location href 关于
  • Left_join:错误:无法分配大小为“小”Mb 的向量

    我正在处理相当大的数据框 其中一个极端的数据框包含大约 300 000 行和 1 500 个变量 因此 在处理这些数据帧时 我有时会收到错误 Error cannot allocate vector of size x x Gb 大多数情况
  • Jquery 解析 XML

    我想使用 JQuery 读取以下 XML Jquery 应读取 XML 并以 HTML 形式显示以下内容 以下所有内容均应链接 News Articles Destinations Epics Tuesday Night Boulderin
  • Spring、事务、Hibernate 过滤器

    我在 Spring 中使用声明式事务 我有一个带有 事务性 注释的服务层 该服务层调用 DAO 我需要在所有 dao 方法中启用 hibernate 过滤器 我不想每次都显式调用 session enablefilter 那么有没有一种方法
  • long <-> str 二进制转换

    是否有任何库可以将很长的数字转换为字符串 只需复制数据 这些单行代码太慢了 def xlong s return sum ord c lt lt e 8 for e c in enumerate s def xstr x return ch
  • 我可以使用哪些 Solr 分词器和过滤器来进行强大的常规站点搜索?

    我想确保搜索 比如说 I B M 可以通过搜索找到ibm 我还想确保Dismemberment Plan可以通过搜索找到dismember 使用 Solr 我可以在分析和查询时使用什么标记器和过滤器来允许两种结果 对于 IBM gt ibm