如何为 PhraseQuery 搜索设置 Lucene 标准分析器?

2024-03-12

Lucene 上的各种教程给我的印象是,如果我这样做:

IndexWriter writer = new IndexWriter(indexPath, new StandardAnalyzer(Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.LIMITED);

Document doc = new Document();
Field title = new Field("title", titlefield, Field.Store.YES, Field.Index.ANALYZED);
doc.add(title);
writer.addDocument(doc);
writer.optimize();
writer.close();

IndexReader ireader = IndexReader.open(indexPath);
IndexSearcher indexsearcher = new IndexSearcher(ireader);

Term term1 = new Term("title", "one");
Term term2 = new Term("title", "two");
PhraseQuery query = new PhraseQuery();
query.add(term1);
query.add(term2);
query.setSlop(2);

Lucene 应该返回对标题字段包含“one”和“two”且彼此在 2 个单词以内的所有查询。但我没有得到任何结果,因为我没有使用 StandardAnalyzer 进行搜索。那么如何在 Lucene 中进行邻近搜索呢?以下 queryParser 是否允许邻近搜索(使用波形符?)

QueryParser queryParser = new QueryParser("title",new StandardAnalyzer());
Query query = queryParser.parse("test");

是的,当您使用 QueryParser 解析查询时,您将能够进行邻近搜索。

一般来说,始终建议使用相同的分析器进行索引和搜索。

BR,

Chris

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

如何为 PhraseQuery 搜索设置 Lucene 标准分析器? 的相关文章

  • Hibernate 搜索查找短语的部分匹配

    在我的项目中 我们使用带有 lucene 分析器和 Solar 的 Hibernate Search 4 5 我向我的客户提供一个文本字段 当他们输入一个短语时 我想找到所有User名称包含给定短语的实体 例如 考虑数据库中具有以下标题的条
  • Solr中如何对多个字段进行嵌套聚合?

    我正在尝试以嵌套方式按多个字段执行搜索结果聚合 计数和总和 例如 通过本文末尾显示的模式 我希望能够获得按 类别 分组并按 子类别 进一步细分的 大小 的总和 并得到如下所示的内容
  • 如何检查 Lucene IndexWriter 实例是否有效/打开?

    抱歉这个简单的问题 但似乎没有任何明显的方法 根据文档 建议保留单个实例IndexWriter存储在内存中 可以一次又一次地用于更新 而不是为每次更改打开和关闭一个内存 这要昂贵得多 然而 文档还指出IndexWriter如果发生异常 例如
  • Lucene 7+中如何通过文档ID获取DocValue?

    我正在将 DocValue 添加到文档中 doc add new BinaryDocValuesField foo new BytesRef bar 检索具有 ID 的特定文档的值docId I call DocValues getBina
  • Solr 中的 docValues 是什么?我什么时候应该使用它们?

    因此 我阅读了多个来源 试图解释 Solr 中的 docValues 是什么 但我似乎不明白何时应该使用它们 尤其是与索引字段和存储字段相关的时候 谁能解释一下吗 Solr 中的 docValues 是什么 Doc Values 可以解释为
  • 使用 Solr 为多种语言建立索引

    我们正在设置一个 Solr 来索引文档 其中标题字段可以采用多种语言 谷歌搜索后我发现了两个选择 定义不同的模式字段 每种语言 即 title en title fr 应用不同 过滤到每种语言然后查询 带有 a 的标题字段之一 相应的语言
  • 为什么 Lucene QueryParser 需要分析器

    我是 Lucene 的新手 正在尝试将原始字符串解析为Query使用QueryParser 我想知道为什么QueryParser Parse 方法根本需要分析器参数吗 如果分析与查询有关 那么Analyzer处理常规时应指定Query对象以
  • 重用 Runnable 的最佳方式

    我有一个实现的类Runnable目前我正在使用 Executor 作为线程池来运行任务 将文档索引到 Lucene executor execute new LuceneDocIndexer doc writer 我的问题是我的 Runna
  • 索引的最大大小/文档数量是多少 - 32 位操作系统上的 java lucene 3.0.2

    我正在使用 lucene 和 40GB 的数据 500M 的元组 2 个字段的行为类似于键值 我创建了一个 35 GB 的索引 但它不起作用 因此 我想创建一组较小的索引 但为此 我需要有关最大尺寸的信息 你使用什么文件系统 您绝对确定已创
  • Lucene中SpanQuery的用途是什么?

    有人可以解释一下什么是SpanQuery是 它的典型用例是什么 The 文档 https lucene apache org core 7 7 3 core org apache lucene search spans SpanQuery
  • 为什么路由不能与 ElasticSearch Bulk API 一起使用?

    我正在向 ElasticSearch 设置批量请求并指定要路由到的分片 但是当我运行它时 文档会被发送到不同的分片 这是 ElasticSearch 批量中的错误吗 当我只索引单个文档时它就有效 当我搜索时它有效 但当我进行批量导入时则不然
  • 对 SolrConfig.xml 文件的更新未得到反映

    我在 SolrConfig xml 文件中添加了一个新的请求处理程序 但是每当我尝试使用新的处理程序时 我都会收到带有 未知处理程序 错误的 404 修改SolrConfig xml文件时是否还需要修改其他文件 Thanks 您需要重新启动
  • 如何在 Lucene 6 中对数字字段进行排序

    我想根据数字字段对搜索结果进行排序 在下面的示例代码中 我想根据 年龄 字段进行排序 我从使用以下答案开始 如何在 Lucene 6 中对 IntPont 或 LongPoint 字段进行排序 https stackoverflow com
  • 如何从 Solr 查询中获取 tf 和 idf 分数?

    以下 Solr 文档 https cwiki apache org confluence display solr Function Queries https cwiki apache org confluence display sol
  • 在 lucene 中搜索 UUID 不起作用

    我有一个 UUID 字段 以以下格式添加到我的文档中 372d325c e01b 432f 98bd bc4c949f15b8 但是 当我尝试通过 UUID 查询文档时 无论我如何尝试转义表达式 它都不会返回它们 例如 uuid 372d3
  • Lucene 上打开的文件太多错误

    我正在进行的项目是对一定数量的数据 长文本 建立索引 并将它们与每个时间间隔 大约 15 到 30 分钟 的单词列表进行比较 一段时间后 比如说第 35 轮 在开始索引第 36 轮的新数据集时 发生了此错误 ERROR 2011 06 01
  • 本地/离线网站“站点”的全文搜索[重复]

    这个问题在这里已经有答案了 可能的重复 通过 javascript 对 CD Rom 上的静态 HTML 文件进行全文搜索 https stackoverflow com questions 1357173 full text search
  • 在具有多个 Web 服务器的现有 .NET / SQL Server 堆栈上实施 Lucene

    我想考虑使用 Lucene 为我当前管理的网站提供全文搜索解决方案 该网站完全基于 SQL Server 2008 C NET 4 技术构建 我要索引的数据实际上非常简单 每个记录只有几个字段 并且只有其中一个字段实际上是可搜索的 我不清楚
  • 随着索引和文档数量恒定,elasticsearch 批量索引会随着时间的推移而变慢

    我遇到了使用 NET NEST 客户端和 ElasticSearch 进行批量索引的性能随着时间的推移 索引数量和文档数量恒定而降低的情况 我们正在奔跑ElasticSearch Version 0 19 11 JVM 23 5 b02在具
  • 需要在 java api 中的 Solr 搜索中搜索文本及其周围的几行

    我正在使用 solr 7 7 2 并且我使用 solrj 在 Solr 中编写了一个 Java 程序 该程序在一个巨大的文本文件中搜索单词 我使用以下代码来显示代表整个文本的搜索结果 SolrQuery params new SolrQue

随机推荐

  • 高效处理超宽但不太高的位图?

    有什么方法可以创建更节省空间 资源的位图吗 目前我尝试渲染一个文件 高约 800px 宽约 720000px 它使我的应用程序崩溃 大概是因为位图的共享内存大小 我是否可以更有效地执行此操作 例如直接将其创建为 gif 而不是稍后保存 我尝
  • Elif,如果不工作或者我不理解[重复]

    这个问题在这里已经有答案了 好吧 我的代码可以正常工作 但是当我输入 否 时 如果我想重试输入密码 它就不起作用了 它只是转到输入密码行 第 20 行 我尝试了多种方法来解决这个问题 但我就是做不到 import time import o
  • 未捕获的类型错误:$(…).on 不是函数

    我在页面上使用 JQuery UI 对话框并收到此错误
  • 如何更好地拟合seaborn小提琴图

    下面的代码给了我一个非常漂亮的小提琴图 以及其中的箱线图 import numpy as np import seaborn as sns import matplotlib pyplot as plt foo np random rand
  • 错误:类...没有名为的字段或关联

    当我将文件上传到服务器时遇到这个问题 Error Class Prizes PrizesBundle Entity Category has no field or association named order cat 我的类别
  • C#:如何以编程方式将 SQL 脚本导入数据库?

    我是否必须手动解析 SQL 脚本并单独执行每个语句 还是有更好的方法 我正在寻找一种编程解决方案 我知道有些工具已经能够做到这一点 如果该解决方案适用于所有数据库系统 而不仅仅是 sqlite 那就太好了 我不确定这如何适用于 Sqlite
  • 对停用词进行标记,生成的标记 ['ha', 'le', 'u', 'wa'] 不在 stop_words 中

    我正在使用 Python 制作一个聊天机器人 代码 import nltk import numpy as np import random import string f open home hostbooks ML stewy spee
  • 无法在 Laravel 的 app.scss 中导入“bootstrap-select”

    我正在做以下事情 npm install bootstrap select npm run dev 在应用程序 scss中 Bootstrap Select import node modules bootstrap select sass
  • 如何使用 Google Play 服务创建 API-15 模拟器(命令行)

    我的应用程序的一位用户面临着某些问题 特别是API Level 15 4 0 4 我想在我这边重现这个问题 我没有4 0 4设备 我想为此目的创建一个模拟器 我在跑Android Studio 2 0 beta6 以及GUI AVD Man
  • 如何将数据文件保存为.RData?

    我想将数据保存到 RData file 例如 我想保存到1 RData有两个 csv 文件和一些信息 Here 我有两个 csv 文件 1 file 1 csv contains object city 1 2 file 2 csv con
  • 如何访问 EL 变量并将其作为参数传递给 EL 中的函数?

    我想调用 bean 上的函数 并使用 ALL 在 jsp 中传递给它的参数 问题是它不允许这样的事情 teacherBean certificationFor particularField 问题是我想迭代一个数组并为作为参数传递的数组中的
  • SQL更新仅在列被修改时触发

    通过查看其他示例 我想出了以下内容 但它似乎没有按照我想要的方式工作 我希望它仅在以下情况下更新修改后的信息 QtyToRepair值已更新 但它并没有这样做 如果我注释掉其中 则修改后的信息在每种情况下都会更新 正如我所说 其他例子让我变
  • 从管道获取模型属性

    我通常会得到PCA像这样的负载 pca PCA n components 2 X t pca fit X transform X loadings pca components 如果我跑PCA使用 scikit learn 管道 from
  • 在 MSBuild 中是否可以确定我是否在 Visual Studio 中运行

    Visual Studio 设置了 MSBuild 属性吗 我希望根据 Visual Studio 的版本 如果有 有一些条件行为 您应该使用的属性值是BuildingInsideVisualStudio 当您在 Visual Studio
  • 定义后向对象添加属性?

    我知道在 JavaScript 中 您可以向现有类型 例如 Date 的实例添加新属性 但是是否可以在定义匿名类型的实例后向其添加新属性 例如 假设我有以下脚本 var employee Name Scott Age 32 JavaScri
  • 如何在 Objective-C 中使用 NSRunLoop?

    如何使用 Objective C 中的 NSRunLoop 并等待某个变量改变值 Thanks 我们通常不会在生产中使用 NSRunLoop 来等待变量更改 可以使用回调 然而 在单元测试代码中我们确实有以下内容 NSDate twoSec
  • 如何在 R 中标记多面图中的最大值点?

    我读到有人有类似的问题 ggplot2 和facet grid 为每个图添加最高值 https stackoverflow com questions 41377236 ggplot2 and facet grid add highest
  • maven测试报告格式

    当我在我的 Java Groovy Maven 项目中运行测试时 测试报告存储在target surefire reports 对于运行的每个测试类 txt and xml创建文件显示该类的输出 总而言之 这是一种非常无用的格式 因为它没有
  • R 不区分大小写的捕获组

    这个正则表达式 str extract all This is a Test a z 返回 1 his is a est 如何修改使其不区分大小写 1 This is a Test 应该返回 Should i删除区分大小写 Trying s
  • 如何为 PhraseQuery 搜索设置 Lucene 标准分析器?

    Lucene 上的各种教程给我的印象是 如果我这样做 IndexWriter writer new IndexWriter indexPath new StandardAnalyzer Version LUCENE CURRENT true