Lucene - 搜索数值字段

2023-12-19

好吧,我在过去的两个小时里搜索了这个,结果只给出了提示, 甚至没有一个完整的代码来救援(如果菜鸟看不到一些示例,他们将如何学习?)

我创建了一个索引,如下所示:

Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("/data/channels/")));
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_29);
IndexWriter writer = new IndexWriter(directory, analyzer, true, Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED);
Document doc = new Document();
doc.Add(new Field("ID", "0", Field.Store.YES, Field.Index.NO));
doc.Add(new Field("parentID", "0", Field.Store.YES, Field.Index.NO));
doc.Add(new Field("Title", "Root", Field.Store.YES, Field.Index.ANALYZED));
writer.AddDocument(doc);
writer.Optimize();
writer.Close();

现在,我想搜索该领域ID其中值等于0(为了获得我在那里的单一记录)......

但是,像这样的简单搜索:

Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("/data/channels")));
Analyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(Version.LUCENE_29);
Searcher searcher = new Lucene.Net.Search.IndexSearcher(IndexReader.Open(directory, true));
Query query = new Lucene.Net.QueryParsers.QueryParser(Version.LUCENE_29, "ID", analyzer).Parse("0");
Hits hits = searcher.Search(query);

没有返回结果。 我读过关于NumericRange, KeywordAnalyzer还有一些其他的事情, 但由于他们都没有提供示例,我不知道该怎么做。

请善良的人们给我一个如何让这件事发挥作用的例子。


我使用 NumericField 和 NumericRangeQuery 来搜索 Lucene 索引中的数字。

创建索引时:

  NumericField taxonRankSortOrder = new NumericField("TaxonRankSortOrder", Field.Store.YES, true);
  taxonRankSortOrder.SetIntValue(rank);
  document.Add(taxonRankSortOrder);

然后使用查询:

  NumericRangeQuery query = NumericRangeQuery.NewIntRange("TaxonRankSortOrder", 3000, 3000, true, true);

将返回 TaxonRankSortOrder 等于 3000 的所有文档。

您必须自己创建查询,而不是使用 QueryParser,因此很想看看是否有更好的方法。

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

Lucene - 搜索数值字段 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • ARM 上 TLS 的代码序列

    The 线程本地存储的 ELF 处理 http www akkadia org drepper tls pdf文档给出了各种架构的各种模型 本地执行 初始执行 一般动态 的汇编序列 但 ARM 不行 有什么地方可以看到 ARM 的此类代码序
  • 使用 ColumnText 会导致“文档没有页面”异常

    我想将文本包装在图像下方 或左侧或右侧 的矩形中 如下所示 请参阅链接 http upanh in SLk http upanh in SLk 我在代码中使用 ColumnText 来换行文本 protected void doGet Ht
  • Java 8 是否提供了重复值或函数的好方法?

    在许多其他语言中 例如 Haskell 很容易多次重复一个值或函数 例如 获取值 1 的 8 个副本的列表 take 8 repeat 1 但我在Java 8中还没有找到这个功能 Java 8的JDK中有这样的功能吗 或者相当于类似范围的东
  • 内存流为空

    我需要从不同的来源 函数 生成一个巨大的 xml 文件 我决定使用XmlTextWriter因为它使用的内存比XmlDocument 首先 发起一个XmlWriter与底层MemoryStream MemoryStream ms new M
  • 如何在 .NET 4.5 中“同时”运行这两个方法?

    我有一个方法可以执行 2独立的逻辑片段 我希望我能同时运行它们同时 并且仅在这两个子方法完成后才继续 我试图弄清楚async await语法 但我就是不明白 这是代码 public PewPew SomeMethod Foo foo var
  • 为什么我对模型实例的更改有时无法保存在 Rails 3 中?

    我有一个名为 Post 的模型 并在模型中创建了两个方法来更改字段 当调用保存时 第一个方法的更改将被保留 第二种方法的更改不会保存 我之前在其他模型中注意到过这种行为 我认为我缺少一些关于模型如何工作的基本知识 对此的任何帮助将不胜感激
  • Node-mysql插入有两个值的查询?

    这是我当前的 JavaScript var connection mysql createConnection host localhost user root password root database codify port 8889
  • Constexpr 放置新?

    C 标准明确禁止调用new在常量表达式中 N4296 第 5 20 节 expr const 条件表达式 e 是核心常量表达式 除非对 e 的求值遵循抽象机 1 9 的规则 将求值以下表达式之一 新表达式 5 3 4 该禁令 据我所知 延伸
  • 我什么时候需要三斜线参考?

    当 Anders Hejlsberg 在下面的视频中 35 00 左右谈论外部模块时 Anders Hejlsberg TypeScript 简介 http channel9 msdn com posts Anders Hejlsberg
  • 在Java中使用相同的内部类名和对象名

    在下面的代码片段中 大概看起来应该会发出一些编译错误 但事实并非如此 class Outer public static class Inner static String obj Inner static Optional Inner n
  • GROUP_BY 内的活动记录 LIMIT

    SCENARIO我有一个充满帖子的表和一个用户表 我希望能够获取所有帖子并按用户对它们进行分组 但我想要将限制设置为每个用户 10 个 class Post lt ActiveRecord Base belongs to user end
  • Flickity 2 - groupCells 和 pageDots 不能同时工作

    我是新来的flickity http flickity metafizzy co 我想对单元格进行分组并同时显示点 但在我的项目中 它们似乎是相互排斥的 我可以对单元格进行分组或显示点 即使从这里codepen http codepen i
  • PHP 将变量发送到 file_get_contents()

    我希望能够通过以下方式将一些变量发送到文件file get contents 这是firstfile php 这是第二个文件 php The value of myvar is 我想要变量 mystr等于 The value of myva
  • ios 8 中的 UIWindow 框架与 Landscape 中的 ios 7 不同

    我创建了简单的模块 将子视图添加到 UIWindow 中 在模拟器 ios 7 Xcode 5 1 1 中 我打印了 self windows 并得到
  • 我有三种字体类型 - Gotham-bold、Gotham-medium、Gotham-thin,所以我需要使用三次 @font-face 吗?

    实际上我的字体文件夹中有三个文件 这些都是Gotham Bold ttf Gotham Medium ttf Gotham Thin ttf 那么我需要使用 font face这三种类型重复三次 请任何人帮助我 我目前使用的代码如下 fon
  • JavaScript 中的请求地址[重复]

    这个问题在这里已经有答案了 可能的重复 使用 JavaScript 获取当前 URL https stackoverflow com questions 1034621 如何在 JavaScript 中获取当前页面的地址 例如 如果我有一个
  • 如何从命令行在 os x 中打开和关闭网络代理

    在 OS X 中 您可以从 系统偏好设置 gt 网络 gt 代理 打开和关闭 Web 代理 方法是选中 Web 代理 HTTP 并指定 Web 代理服务器等 然后单击 确定 然后单击 应用 这步骤太多了 有没有办法从命令行和 shell 脚
  • 如何在代理后面使用 HTTPBuilder 并进行身份验证

    我尝试了2个小时 但没能成功 这就是我所做的 grails add proxy myproxy host
  • load() 在 Spark 中做什么?

    火花很懒吧 那么什么是load do start timeit default timer df sqlContext read option es resource indexes format org elasticsearch spa
  • Lucene - 搜索数值字段

    好吧 我在过去的两个小时里搜索了这个 结果只给出了提示 甚至没有一个完整的代码来救援 如果菜鸟看不到一些示例 他们将如何学习 我创建了一个索引 如下所示 Directory directory FSDirectory Open new Sy