Lucene.Net和Geosearch-它在哪里?

我发现了一篇关于Lucene和geosearching的有趣文章: 是否有一个类似的.NET实现我一直找不到,或者我必须重新编写他的示例中的Java代码以适应.NET框架?我也看到了这篇文章。我在谷歌搜索中没有看到特定于.NET的代码,所以我计划在需要时也移植这段代码。现在,我刚刚用Lucene.NET把脚弄湿了,还没有到我对它感到足够舒服的地步,开始扩展它 本文中的代码似乎是Lucene in Action中概述的概念地理距离功能的派生示例。尽管这本书是基于Java产品的,但它是一本很棒的读

Lucene:查询和过滤有什么区别

Lucene查询与过滤器 它们都做类似的事情,比如termquery按术语值过滤,我想过滤的目的是类似的 何时使用过滤器和何时使用查询 今天刚开始使用lucene,因此尝试澄清概念时,可以将查询传递给搜索者以查找文档。过滤器不能;它只能修改查询产生的结果 实现新的查询类型相当复杂,需要了解Lucene内部的关系,如权重、评分器和相似性。过滤器实现可能相当简单,根本不与索引阅读器交互。过滤器不会影响未过滤文档的分数计算 例如,想象以下文档: 1. loc: "uk", "london" text:

Lucene和Solr之间的版本不兼容

我们有一个使用3.0.2 Lucene jar生成的索引。安装和配置的Solr版本为1.4.1。在Solr的lib目录中,我看到Solr使用了Lucene 2.9.3 启动时引发异常:“不兼容的格式版本:2预期为1或更低”。我猜这可能是因为Lucene版本不兼容-3.0.2用于生成索引,2.9.3用于读取索引 我是否缺少配置步骤 提前感谢。您必须将Lucene降级到2.9.x或将Solr升级到3.x/4.x(trunk),后者使用的是更新的Lucene版本

Lucene 字段值在solr搜索结果中为1或true

我有一个字段在Solr的schema.xml中被索引为字符串,它来自mysql数据库中的一个布尔(tinyint)列 在查询中,我使用1搜索此字段。但是如果没有任何更改,此查询将无法返回正确的结果。在我使用true而不是1之后,它再次起作用。现在它又出了问题,但对于true,1没有问题 这里到底有什么问题?是否需要将schema.yml中的字段类型更改为整数 提前感谢您。因为它是一个字符串字段,我们不可能知道您是如何索引它的。它可能是“真”/“假”或“1”/“0”或“开”/“关”,等等。甚至是这

Lucene 为什么solrnet的url总是以?;

这是solrnet发送的url *%5d&fq=p_review_type%3a1&sort=p_review_date+desc&rows=4&q=%3a& url始终以&?结尾 搜索过程中花费的时间比普通url慢10倍 如何解决这个问题 提前感谢这可能是一个bug,但我从来没有看到任何性能或行为上的差异。索尔只是忽略了这一点 您可能想尝试编译最新的源代码,看看它是否解决了您的问题。但正如我所说,我真的怀疑这是10倍减速的真正原因

Lucene 基于语言的hibernate多字段搜索

我想把db全文搜索改成lucene。我正在使用hibernate,所以我想使用hibernate搜索是明智的。不过我有个问题 我们的记录有来自不同语言的信息和标题列表,我需要能够基于单一语言和所有语言进行搜索 我可能可以在普通的lucene中实现,但我不知道它在当前事务中的效果如何。因此,使用hibernate搜索和hibernate处理索引会更好 是否可以在索引中创建这样的字段,以按照我描述的方式进行搜索 class Record{ List<Info> infos; }

Lucene 更新Solr模式

我是Solr的新手,我很好奇更改/更新模式的过程是什么 我注意到我可以很容易地添加新字段而不会引起任何问题,但每当我不得不更新字段时,都会引起问题 由于摄入系统的数据量很大,我将无法保留用于生成solr的add/doc查询的原始数据,因此当发生更改时,我将无法简单地对所有内容重新编制索引 例如,我希望将现有字段的类型从“string”更改为“text”,而text字段类型有许多标记器、过滤器等,我希望立即在现有数据上使用它们 理想情况下,我正在寻找一种方法来更新模式,重新索引/优化现有数据集,并

Lucene 如何从文本语料库中提取语义相关性

目标是评估大型文本语料库中术语之间的语义关联性,例如,“警察”和“犯罪”应该比“警察”和“山”具有更强的语义关联性,因为它们往往同时出现在同一上下文中 我读过的最简单的方法是从语料库中提取信息 许多人使用潜在语义分析来寻找语义关联 我遇到了Lucene搜索引擎: 您认为提取IF-IDF合适吗 在技术和软件工具方面,你会推荐我做的事情吗 提前谢谢 Mulone是的,Lucene获得TF-IDF数据。该算法是基于Lucene的语义提取程序的一个示例。我提到它是因为,作为第一步,他们创建了一个相关矩阵

Lucene:迭代所有条目

我有一个Lucene索引,我想迭代一下(在当前开发阶段进行一次评估) 我有4个文档,每个文档有几十万到一百万个条目,我想迭代计算每个条目的字数(~2-10)并计算频率分布 我目前正在做的是: for (int i = 0; i < reader.maxDoc(); i++) { if (reader.isDeleted(i)) continue; Docu

Zend Lucene和多值字段上的范围搜索

假设我的索引包含一个名为“ages”的字段的文档。“年龄”字段的示例条目: 二十五 24,28 25,31 我该如何查询这些文档,以便获得其字段包含年龄在20到30岁之间的所有文档?我正在使用Zend Lucene。lmgtfy:- $from = new Zend_Search_Lucene_Index_Term(20, 'ages'); $to = new Zend_Search_Lucene_Index_Term(30, 'ages'); $query = new Zend_Sea

Lucene:如何更加重视某些文档?

我正在我的web应用程序中使用couchdb lucene。我有一个搜索用户的功能 每个用户都是一个具有“全名”、“用户名”和“活动”等属性的文档 Activity只是一个浮点数,表示用户的活动程度。所以我希望Lucene也考虑这个因素,同时给每个用户评分。我该怎么做 编制索引时,可以使用Document.setBoost()方法。此外,您不仅可以在文档级别执行此操作,还可以通过调用field.setBoost()对文档中的一个字段执行此操作。您可以按(搜索“boost”)中的说明增强添加到文档

在lucene NumericField中搜索最大值

我知道Lucene中有一个NumericRangeQuery,但是否可以让Lucene简单地返回存储在NumericField中的最大值。我可以在整个已知范围内使用RangeQuery,然后进行排序,但这非常麻烦,如果有很多记录,它可能会返回大量结果索引搜索器的第二个参数index.search(Query-Query,int-n,sort-sort)允许指定前n个命中数(在您的案例1中),如果排序正确,仅返回所需的结果。还有其他重载方法可以实现同样的效果 尽管如此,我还是不能为它的麻烦争论:)

Lucene.net-查询返回不需要的文档

我的所有Lucene.net(2.9.2)文档都有两个字段: 类别 正文 bodytext是默认字段,是存储文档所有文本的位置(使用field.Store.NO、field.Index.analysis、field.TermVector.WITH_POSITIONS\u offset) categoryid只是一个以文本形式存储的数字字段:field.Store.YES,field.Index.NOT\u分析 执行此查询时,它仅返回类别ID为:categoryid:1 但是,当我执行此查询时

Jackrabbit lucene ItemNotFoundException-如何复制/导致索引损坏的原因

当我们看到这些异常突然发生时,我们的lucene索引似乎正在被破坏。我们通过删除索引文件夹来修复它,以便重建索引 问题是,我们无法可靠地重现此异常,因此很难找出导致此异常的原因 有人知道什么样的jackrabbit操作最有可能破坏搜索索引吗?我们在jackrabbit的硬“重启”中遇到了类似于杀死运行应用程序的服务器这样的问题。使用Lucene 3.6(在Jackrabbit 2.5.1中)可能会使部分内容消失。看来这可能是由于容器中断并击中了a。您知道当时正在执行哪些操作吗?您是否能够始终如一

索引和搜索特殊字符,如'@''#';在lucene

我正在使用standardalyzer为字段编制索引,它从输入字符串中删除标点符号。我的输入字符串包含特殊字符,如@、#、-等 例如:索引数据可能由userid:AB@234,ABC#DF 我正在尝试更新传递BooleanQuery uesrid:ABC@34使用writer.deletedocuments(查询)删除以前的文档 使用writer.updateDocuments(术语、文档)更新索引 使用上述查询删除当前indexex将删除以ABC@开头的所有值。即,具有userid值的文档AB

Grails可搜索插件(Lucene)-1对多查询

我正在使用grail的可搜索插件(0.6.4)。我需要根据隐私设置搜索成员。下面是数据库设计。 成员具有MemberProfile,并且MemberProfile具有PrivacySettings class Member extends { String firstName String lastName static searchable = { analyzer "simple" only = ['firstName'

Lucene Elasticsearch插件

我了解什么是Elasticsearch,但不知道如何为Elasticsearch编写插件。有谁能告诉我将插件写入Elasticsearch的指导原则。Found.no(Elasticsearch托管服务)对Elasticsearch插件开发过程有很好的了解。它和我在那里看到的一样详细,而且是最近的(2013年9月),所以应该是合理的最新版本。如果我打算从头开始构建一个插件,我会从这里开始: 另一个是在Github上挖掘其他插件: 其他插件列表: 在教程和查看所有源代码之间,你应该有一个坚

elasticsearch Elasticsearch索引已损坏

我从elasticsearch框中获取以下日志: org.apache.lucene.index.CorruptIndexException: [myindex][2] Preexisting corrupted index [corrupted_5Y_pGXmYQOG5PGlZURWqxw] caused by: CorruptIndexException[checksum failed (hardware problem?) : expected=9cf1207c actual=4eda74

elasticsearch Elasticsearch按浮点排序的顺序看起来错误

我在每个文档中都有一个字段,其中包含一个浮动,这意味着可以作为对文档进行排序的备用方法。因为它是一个浮点数,所以可以是负数。当我要求Elasticsearch搜索“order”:“desc”时,我首先得到最大的负值,然后是较小的负值。这是错误的,好像这个标志被忽略了,这根本不是我想要的 "popRank": { "unmapped_type": "float", "order": "desc" } 文档的部分如下所示: "popRank": -310, 如果查询使用desc我

Lucene Elasticsearch筛选结果,不包括按id列出的结果

我需要返回不包括带有特定ID的文档的结果。Elasticsearch允许我们指定允许哪些ID,但我认为没有办法禁止某些ID。在我的例子中,我不想返回用户已经看到的内容,因此每个用户的列表都会不同。您可以通过添加一个bool/must\u not过滤器来实现这一点,该过滤器包含一个ids过滤器,其中包含一个您不想显示的id数组,如下所示: { "query": { "bool": { "must": [ ... <

Lucene #WSO2-DAS-创建索引编写器时出错:编解码器标头不匹配:实际标头=0与预期标头=1071082519

我正在开发wso2 Das产品来存储业务事件。我发现wso2服务正在运行,但无法访问管理控制台。我得到以下错误:- TID:[-1][[2016-03-01 16:59:54185]错误{org.wso2.carbon.analytics.dataservice.core.indexing.AnalyticsDataDexer}-处理索引批处理操作时出错:创建索引编写器时出错:编解码器头不匹配:实际头=0与预期头=1071082519(资源=缓冲checksumindexinput(/\u da

Lucene Azure搜索API未找到索引文档,尽管查询正确

使用Azure Search REST API v2016-09-01,以下查询可以找到预期的文档: ?queryType=full&search=id:3119443 AND name:du* ?queryType=full&search=id:3119443 AND name:d* { “价值”:[ { “@search.score”:4.425995, “id”:“3119443”, “名称”:“杜邦” } ] } 鉴于以下更广泛的查询(搜索d*而不是du*)未找到相

Lucene.NET4.8向自定义分析器添加多个过滤器

我正在尝试创建一个应用了多个过滤器的自定义分析器 public class CustomAnalyzer : Analyzer { protected override TokenStreamComponents CreateComponents(string fieldName, TextReader reader) { Tokenizer tokenizer = new KeywordToken

Lucene 使用RAMDirectory

我应该什么时候使用Lucene的RAMDirectory?与其他存储机制相比,它有哪些优势?最后,在哪里可以找到一个简单的代码示例?当您不想永久存储索引数据时。我使用它进行测试。将数据添加到RAMDir目录,在RAMDir中进行单元测试。 e、 g 或 public void testRAMDirectory()引发IOException{ Directory dir=FSDirectory.getDirectory(indexDir); MockRAMDirectory ramDir=新的Mo

解决Lucene索引错误

为什么我会在Lucene中遇到这样的错误,以及如何解决它 找不到文件“C:\Indexes\u z3\u 1.del” 谢谢。看起来像一个损坏的索引 如果可以很容易地从另一个数据源重建索引,最简单的方法就是删除它并重建它。谢谢您的输入。但是我可以知道为什么索引一开始就损坏了吗?在创建索引时,您目前是如何建建和更新索引的,如果IndexWriter未完全关闭,您将导致索引损坏。@Ed,您可以尝试使用Luke:查看索引。它可能会为您提供有关索引损坏原因的其他信息。

使用Lucene';s API,我可以提高术语吗?

使用Lucene的查询解析器,可以通过添加“^n”来增加术语(使它们在搜索结果中的权重更高),例如,“苹果^5派”将赋予术语“苹果”五倍的重要性。在使用API构造查询时是否可以这样做?请注意,我不想提升字段或文档,而是提升字段中的单个术语。您只需要使用查询类的setBoost(float)方法 比如说 TermQuery tq1 = new TermQuery(new Term("text", "term1")); tq1.setBoost(5f); TermQuery tq2 = new Te

Lucene Hibernate搜索:如何查询嵌入的实体

我喜欢使用HibernateSearch跨网页上的多个输入字段实现复杂的自动提示功能。 每个输入字段都有自己的实体,比如说国家和城市。两个实体之间存在多对一关系 (国家包含城市) 自动提示功能应能在键入例如国家名称前缀和城市字段时进行操作, 你只会得到有这样一个城市的国家的建议(反之亦然) 服务器端自动建议服务应返回投影列表 (entityId,entityName),它们被渲染到输入字段(下拉列表,无论什么) 根据该模式,在阅读手册后,我尝试了以下索引模式: SearchMapping map

Lucene查询(带瓦?)

我有一个Lucene索引,其中包含以下文档: _id | Name | Alternate Names | Population 123 Bosc de Planavilla (some names here in 5000 345 Planavilla other languages)

如何根据lucene 3.5中的特定标准为选择性文档分配静态质量分数?

假设我们希望重视包含许多电影相关词的文档。对于这些文档,我们希望分配一些静态质量分数。对于后续查询,分数计算为静态分数加上文档对查询的分数。文档增强是针对此类情况设计的功能。只是,它不是加法,而是乘法(它通过给定的因子来缩放原始分数),但这可能是您所需要的

Lucene词干分析器软件包下载

我想使用lucene的这两个类- import org.apache.lucene.analysis.snowball.*; import org.apache.lucene.analysis.PorterStemmer; 但我在下载的lucene 3.5中找不到这两个类。你能告诉我从哪里可以下载包含这两个类的jar文件吗 PS-我尝试搜索lucene 3.0.1 jar,但找不到它 谢谢。奇怪,波特·斯泰默应该在主罐里。然而,雪球分析仪在罐子里。奇怪的是,波特茎干分析仪应该在主罐子里。然

Lucene 4.2 StringField

我是Lucene的新手。我有两个文档,我希望与名为“关键字”的文档字段完全匹配(该字段可能在一个文档中出现多次) 第一个文档包含关键字“Annotation is cool”。第二个文档包含关键字“Annotation也很酷”。当我搜索“Annotation is cool”时,我必须如何构建查询,以便只找到第一个文档 我读了一些关于“StringField”的东西,它没有标记化。如果我在方法“addDoc”中将“关键字”字段从“TextField”更改为“StringField”,那么将找不到

如何防止字段在lucene中不分析

我希望像URL这样的字段能够被索引和存储,但不能被分析。Field类有一个构造函数来执行同样的操作 Field(String name, String value, Field.Store store, Field.Index index) 但是自从lucene 4以来,这个构造函数就被弃用了,建议使用StringField或TextField对象。但它们没有任何构造函数来指定要索引的字段。那么可以做到吗?你好,你说的完全正确。使用Lucene提供的新字段,您无法实现您想要的。 您可以继续使用

限制时间范围时Lucene中的TFIDF计算

我在不同的时间有很多文件。 现在我需要计算一段时间内文档的tfidf。 下面是我将要做的,例如: 我一年有一百万个文本文档,我将在一个月内把这些文档作为语料库。 我想计算每个月的tfidf,即计算一个月内的术语频率,并乘以剩余月份的逆文档频率 数据(文本、时间等)是使用lucene索引的,我只是想知道lucene是否有助于计算这种情况 我知道Lucene可以帮助我获得术语频率和文档频率,但是否有API限制计算的时间范围 非常感谢。我已经找到了一个使用Lucene.Net 3.0.3和有效负载的解

如何增强Lucene中的链接文档?

是否可以基于其他找到的文档提升找到的文档 例如,如果我有一个文档A,它有一个到文档B的链接,并且两个文档都是独立找到的,那么要同时增强它们吗?我所说的链接是指具有另一个文档ID的字段 目前,我正在“手动”完成这项工作,即,我对TopDocs进行后期处理,以查找与同一结果中的其他文档有链接的文档,并将这些文档移到顶部。这不是最好的解决方案,因为TopDocs本身已经受到限制,没有考虑到我的自定义增强功能。我建议实施自定义lucene收集器或扩展现有收集器。通过这种方式,您可以存储检索到的所有文档I

Lucene ElasticSearch在哪里存储持久设置?

当我通过获取ElasticSearch服务器设置时 curl -XGET localhost:9200/_cluster/settings 我看到了持久和瞬态设置 { "persistent": { "cluster.routing.allocation.cluster_concurrent_rebalance": "0", "threadpool.index.size": "20", "threadpool.search.size": "30", "cl

从lucene 3.x迁移到4.x时是否值得重新编制索引

我将把Lucene版本从3.5迁移到4.7。 由于我的索引非常庞大,我想知道是否值得重新编制索引。 我最感兴趣的是它是否值得在性能的情况下。 有什么建议吗 像往常一样,没有简单的答案 最大的变化是,在v4.0中,Lucene引入了提供自定义编解码器/发布格式的功能。Michael McCandless(Lucene的作者之一),: 默认情况下,Lucene使用StandardCodec,它在 与当前稳定分支(3.x)的格式几乎相同。详情 给定的术语存储在术语词典文件中,而文档和 出现该术语的位置

Lucene只返回100个结果

我已经将每页的点击率限制提高到一个大整数。即使在这之后,它也只返回100个结果。有没有办法让我得到所有的结果 int hitsPerPage = 5000000; IndexReader reader = IndexReader.open(index); IndexSearcher searcher = new IndexSearcher(reader); TopScoreDocCollector collector = TopScoreDocCollector.cre

Lucene 4.9中的BM25

我正在和Lucene的BM25相似性课程做斗争。Web上提供的所有示例都引用了较旧的实现。我恳请您提供一个指针,说明如何修改下面的标准玩具示例,以包括BM25相似性创建索引和执行搜索 import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.a

基于语言为字段更改Lucene分析器

我需要根据文档语言为文档编制索引,为此我希望使用适当的分析器。在不关闭和重新打开IndexWriter的情况下,是否有可能将analyzer更改为单个字段,因为这显然是一项昂贵的任务,而且语言可能会经常更改? 还是有更好的方法来处理多种语言 谢谢只需将适当的分析仪传递到谢谢,不知道我怎么会错过这一个:)

Lucene Cloudant搜索:为什么我的通配符不起作用?

我有一个带有搜索索引的Cloudant数据库。在搜索索引中,我为文档的标题编制索引。例如,搜索“Rijkspersonel”: 返回48行 但是,当我用a替换“o”时?通配符: 我得到0个结果。为什么呢?他们说这也应该和“Rijkspersonel”匹配 我以前的回答肯定是错的。内部通配符似乎不受支持。尝试: title:rijkspe*on* title rijksper?on* 相当肯定这里发生的是一个分析问题。相当确定您使用的是词干分析器。我对cloudant及其实现并不十分熟悉,但

elasticsearch 文档id是否影响评分?

我添加了两个相同的文档,唯一不同的是文档的id(我重新启动了每个文档的场景,并且没有按顺序添加它们。为了确保我的测试是正确的) 其中一个更改了此查询结果的顺序,但其中一个没有: GET index_for_test/business/_search { "query": { "multi_match": { "query": "italian", "type": "most_fields"

Lucene hibernet搜索通配符,带2个单词

我用两个词来提问,即“测试”和“测试”。我想要这样的东西: org.apache.lucene.search.Query query = (org.apache.lucene.search.Query) qb .keyword() .wildcard() .onFields("jobTitle", "tags", "role", "DepartmentName", "skillSet", "longDescription", "d

如何对Lucene 6中的IntPont或LongPoint字段进行排序

您好:我正在从Lucene 5.1迁移到Lucene 6。我发现InPoint不支持排序,因为它的DocValuesType被冻结为NONE,排序需要数字。在Lucene 5.1中,我可以设置一个newmeric字段的字段类型,这样我就可以进行基于范围的搜索并对结果进行排序。我知道我可以迁移到LegacyIntField,但我想迁移到新的IntPoint。有人知道如何为数值编制索引以支持基于范围的查询和排序吗 谢谢大家! 您必须使用额外的 并在此基础上进行排序 searcher.search(q

elasticsearch Elasticsearch:Lucene合并线程的高CPU使用率

我有一个ES2.4.1集群,有3个主节点和18个数据节点,它们收集日志数据,每天创建一个新索引。在一天内,索引大小增长到大约2TB。超过7天的索引将被删除。在集群上执行的搜索很少,因此主要目标是提高索引吞吐量 我看到以下许多例外情况,这是我接下来要说的另一个症状: EsRejectedExecutionException[rejected execution of org.elasticsearch.transport.TransportService$4@5a7d8a24 on EsThrea

如何将createComponents从Lucene 4.5迁移到8.20

我使用Lucene 4.5.0编写了以下代码,我正在尝试升级到8.2.0 Lucene 4.5代码: @Override protected Analyzer.TokenStreamComponents createComponents(final String fieldName, final Reader reader) { final StandardTokenizer src = new StandardTokenizer(this.matchVersion, reader);

上一页 1 2 ...  11   12   13   14    15   16   17  ... 下一页 最后一页 共 78 页