我找不到一个简单的是或否的答案!
我知道我可以并行发送多个读取,但是我可以在一个单独的进程/线程更新索引时查询它吗?我已经有一段时间没有使用Lucene了。但是,假设您谈论的是Java版本,那么
Lucene允许同时搜索和索引吗?
对。但是,IndexReader仅在索引打开的“时间点”搜索索引。在重新打开IndexReader之前,对索引的任何更新(添加或删除的文档)都将不可见。因此,您的应用程序必须定期重新打开其IndexReader以查看最新更新。该方法允许您测试自IndexReader打
我有一组文档,其中包含我想要索引的评分项目。我们的数据结构如下所示:
Document
ID
Text
List<RelatedScore>
RelatedScore
ID
Score
但是,计算的“范数”似乎适用于整个多字段-文档的所有RelatedScore“值最终将具有相同的分数
Lucene中是否有允许此功能的机制?我不想创建另一个索引来解释这一点-感觉应该有一种使用单个索引的方法。如果没有实现这一点的方法,我们必须补偿的一些想法是:
按降序插入多值字
对于lucene 2.9.1,INDEX.TOKENIZED不推荐使用。文档中说它刚刚被重命名为ANALYZER,但我不认为它的意思保持不变。我有一个基于2.3的现有应用程序,我正在升级到2.9,但预期的行为似乎已经改变
有人知道关于INDEX.TOKENIZER和INDEX.ANALYZER的更多细节吗?我想您是指字段和
确实,标记化字段已被弃用。这是已经发生的情况
Field.Index.analysis等于旧的Field.Index.TOKENIZED。您能说明您的结果与您期望的行为有何偏
我使用一个布尔查询来组合几个查询。我发现如果我向BooleanQuery添加一个BooleanQuery,那么就不会返回任何结果。添加的布尔查询是必须的,比如-city\u id:100
但正如lucene的规范所说,BooleanQuery可以嵌套,我认为这意味着可以添加这样的BooleanQuery。现在我必须从BooleanQuery中获取要添加的所有子句,然后将它们逐个添加到容器BooleanQuery中
我有点困惑。有人能帮忙吗?多谢各位 Lucene不支持一元not运算符。但是,您可
我正在使用Lucene查询解析器进行简单的搜索前端,但遇到了一些问题。我存储的每个记录都有一些已分析的字段和一些未分析的字段
当我尝试使用查询解析器构造一个查询来同时查看已分析字段和未分析字段时,分析器正在处理这两个字段,这意味着未分析字段将永远不会得到匹配
有没有办法告诉查询解析器不要分析字段?您可以使用定义每个字段的特定分析。PerfielDanalyzerRapper应同时用于索引和检索
或者,您可以使用Solr,并在Solr模式中定义分析
我需要处理一个数据库,以便将元数据信息(如td idf权重)添加到文档术语中
接下来,我需要创建具有相似性度量的文档对,如td idf余弦相似性等
我计划使用ApacheLucene完成这项任务。实际上,我对检索或运行查询不感兴趣,而是对数据进行索引并对其进行详细说明,以便生成具有上述文档对和相似性分数的输出文件。下一步是将这些结果传递给Weka分类器
我能轻松地和Lucene一起做吗?
谢谢试试看。将标有“Mahout”的位置替换为“Weka”。祝你好运
我需要从字符串中提取单个术语,以使用BooleanQuery构建查询。
我正在为它使用QueryParser.parse()方法,这是我的代码片段:
booleanQuery.add(
新探索者(
org.apache.lucene.util.Version.lucene_40,
“标签”,
新的WhitespaceAnalyzer(org.apache.lucene.util.Version.lucene40)
).parse(“tag1 tag2 tag3”),
boolean子句。发生。应
我对Lucene没有太多经验,但我需要完成一项研究。
我想使用基于本体的Lucene索引。所以,我需要任何类型的建议,我应该使用什么,如何将Lucene与本体论域结合起来等等
谢谢
幸运的
在Lucene中,您可能会执行以下操作
protected Document createDocumentFromTuple(Tuple t) {
Document doc = new Document(); // this is the Lucene document to create
我正在尝试创建一个功能,允许通过以下公式显示搜索结果sum(weight1*文本相关性得分,weight2*价格)weight1和weight2是可以更改以影响搜索结果的数值
我将以下查询参数发送到Solr实例进行搜索
q=red
defType=dismax
qf=10^name+2^price
我的理解是,在使用Demax时,Solr/Lucene会在qfparam中指定的所有字段中查找搜索文本
目前,我的搜索结果与qf不包含价格时得到的结果类似。我认为这是因为价格是一个数字字段,没有文本
我对Lucene和Pylucene很陌生。当我使用pylucene编写定制的分析器,将文本标记到bigrams时,这是一个问题
analyzer类的代码为:
class BiGramShingleAnalyzer(PythonAnalyzer):
def __init__(self, output
你知道lucene首先查询tii中的术语,然后指向tis,我的问题是lucene如何过滤字段。
例如:tis文件有100万个术语,999千个术语属于内容字段,另外1000个属于标题字段。
因此,如果我查询title:city,那么Lucene将搜索术语city undigish fields?即首先搜索两个字段,即content和title,然后删除content字段。或者有两个tis文件,一个用于content字段,另一个用于title字段。
提前感谢对于Lucene来说,仅仅一个字段值是没有
我已经为我的类配置了hibernate搜索注释(4.1.1版本库)。所以,我使用的是jpa,在我的例子中,我可以省略@DocumentId,但我有一个复合主键。。。
我……你能帮我吗
错误:HSEARCH000058:HSEARCH000116:MassIndexer操作期间出现意外错误
java.lang.ClassCastException:it.domain.InterventoPK不能强制转换为java.lang.Integer
位于org.hibernate.type.descr
我在客户机-服务器体系结构中使用Lucene 3.5,如下所示:客户机向服务器发出查询。服务器将返回查询中使用的术语列表和点击列表,包括通过向检索到的文档应用荧光笔生成的片段。然后,用户可以请求显示完整文档。此文档来自我正在构建的系统中的另一个服务
当显示请求的文档时,我想突出显示用于检索它的相同术语。我可以编写一些其他代码来实现这一点,而不涉及Lucene基础设施,但由于我已经有了生成代码片段的代码,我希望能够重用它。(干的等等。)
因此,我的问题是如何最好地做到这一点:当需要使用搜索结果标记
我正在Lucene索引中搜索其开始时间字段值小于或等于我的时间(t)且完成时间字段值大于我的时间(t)的文档。这里的开始时间、结束时间和我的时间都是hh:mm格式。我把它们都转换成一个等于hh*60+mm的整数值。
现在我想检查我的时间值是否在与开始时间关联的值和与完成时间关联的值之间
但在这里我遇到了几个问题。详情如下:
1.我无法向索引中添加具有整数值的字段
2.我不明白如何在Lucene中形成这个涉及整数的范围查询
因此,如果有人帮助我解决这个问题,我将不胜感激。谢谢。1:使用,例如:
d
我怀疑查询是如何搜索文档的
当我用精确的查询“什么是1234?”搜索关键字分析字段时,我没有得到任何结果。
但是,如果我在snowball/标准分析字段中搜索“what”,那么我得到了一些结果,并且我还尝试了另一种方法将空间转移到查询中,如“what\is\1234?”,它也给出了一些结果
默认情况下,查询字符串将使用什么分析器,它是使用任何分析器转换用户查询,还是使用用户提供的分析器
请在这里找到我的要点:查询字符串“什么是1234?”找不到结果的原因不是分析器,而是QueryParser
q
我正在尝试将py2neo的多值属性存储在Neo4j数据库中
我的代码是这样的:
names = ["Hello", "Bye"]
batch.add_to_index( neo4j.Node, "NAME", "names", names , mynode )
遗憾的是,用lukeall检查结果Lucene索引并执行搜索,它似乎不起作用,似乎所有内容都存储为字符串,如:[“Hello”,“Bye”]
是否有任何方法可以正确地存储它,以便为所有不同的值编制索引
提前谢谢 ,add_to_ind
我想使用查询生成器在aem的所有节点中搜索单词的精确组合。
尝试调试查询时,它会返回与查询不匹配的结果。
例如,如果要在所有节点中搜索“foo-bar”,我需要接收包含“foo-bar”、“foo-bar”、“foo-bar”、“foo-bar”的所有节点,但不只是“foo”和“bar”而不是“foo-bar”。服务中的查询是使用QueryBuilder完成的。如果您需要“foo bar”的各种组合,那么您必须查询:
fulltext=foo-bar
您将只获得前10个结果。要获得全部,您需要:
在节点类型定义上设置indexNodeName=true与使用属性name=:nodeName定义虚拟nodeName属性之间有什么区别(如果有)。定义如下:
默认为false。如果设置为true,则还将为创建索引
节点名。这将能够更快地评估涉及以下内容的查询:
对节点名称的约束
将节点名索引为属性的目的类似于indexNodeName,但这并不意味着“与相同”。他们对此并没有说太多:
字符串:nodeName-这个特殊情况索引节点名,就像它是
正在编制索引的节点的虚拟属性。将此与
nodeSc
.tip文件将存储什么?是否存储了字段的FST?是否会在索引更改期间进行更新?还是会再次创建?相同的FST是否用于AnalyzingFizSuggester和prefixQuery?请参阅和更多:)
术语索引。将索引插入术语词典
术语索引
.tip文件包含术语词典的索引,因此可以随机访问它。有关格式的更多详细信息,请参阅BlockTreeTermsWriter
我正在使用Elasticsearch 5.3.1,评估BM25和经典TF/IDF。
我遇到了折扣重叠属性,它是可选的
确定是否重叠标记(位置增量为0的标记)
在计算范数时忽略。默认情况下,这是真的,意思是
计算规范时,重叠标记不计算在内
如果可能的话,有人能用一个例子解释一下上面的意思吗。首先,标准值计算为boost/√长度,此值在索引时存储。这会导致短字段上的匹配获得更高的分数(因为10分之一通常比1000分之一更好)
例如,假设我们的分析器上有一个同义词过滤器,它将以字段的索引形式索引一组同
我在elasticsearch中有一个字段,它被定义为具有以下映射的数组:
"skills":{"type":"text","term_vector": "yes"}
它包含多种技能。假设我想匹配多个技能,并检查哪个文档包含这些技能,我将如何在单个函数中实现这一点
例如,假设我需要搜索诸如“python”、“ruby”和“C”之类的技能,而不是编写3个匹配查询,是否有任何方法可以将其组合到1个查询中,例如用于匹配多个字段的多匹配查询?多匹配在这里没有帮助,因为您搜索的都在同一个字段中。假设您正
我们正在使用Lucene搜索我们的一个项目。
该网站发展迅速,需要改进搜索。
一个关键的问题是将最近性和相关性结合起来
目前,搜索是在某些指定字段(如页面标题、内容等)中用户输入的关键术语上进行的,并返回得分最高的结果
目前,用户并不认为这些结果非常有用,因为他们在顶部看到的是来自旧日期的文章。虽然内容是相关的,但不是最近的
我们需要提高搜索结果,以包括发布/更新日期。
我们为它提供了一个计算列(publishedDupDateDate),它如何使用查询时间提升来提升搜索结果
如果不是查询时间,
我在hibernate搜索中使用了一个范围查询,我希望它是这样的-a只是不调用excludeLimit()。默认情况下会包含限制,因此您需要的实际上是默认行为
我的愿望是搜索字段a存在而字段b不存在的文档。
有没有办法在Kibana中使用Lucene查询语法(Kibana的Discover部分中的搜索字段)来实现这一点
我尝试过使用_missing uu:field u b,但没有成功(_exists uu起作用)
我发现了这个,但没有多大帮助:
GET /_search
{
"query": {
"bool": {
"must_not": {
"exists": {
我使用直接向上的Lucene(无Solr或ElasticSearch)为一组遵循父子层次结构的文档编制索引
我使用“块”来完成这一点,方法是将所有子项(后跟父项)添加到同一块调用中:
writer.addDocuments(childrenAndParentDocList)
我正在对所有父级和子级进行自由文本搜索(在子级搜索中使用ToParentBlockJoinQuery链接到父级文档),这将返回一组很好的父级文档,这些文档要么与查询匹配,要么具有与查询匹配的子级
我需要做的下一件事是获取我
我有一个solr实例,其中包含的文档的“startTime”字段范围从上个月到一年。我想添加一个boost查询/函数来提高startTime字段接近当前时间的文档的分数
到目前为止,我已经看到了很多使用rord向更新文档添加增强的示例,但我从未见过这样的示例
谁能告诉我怎么做吗
谢谢您可以在Solr 1.4中进行日期计算
如果您使用的是Solr 1.4+,那么您就可以访问函数查询中的“ms”函数,而标准的教科书式的按最近度提升方法是:
recip(ms(NOW,startTime),3.16e-
标签: Lucene
spell-checkingsnowball
我正在尝试使用Lucene.NET设置拼写检查器,除以下类似情况外,一切正常:
我在索引中有包含卫星的文本,我使用Snowball分析它
然后我创建一个拼写检查器索引并从中获得建议。当我通过Satellite时得到的建议是satellit
我认为这是因为斯诺鲍将卫星拦截到了卫星上,因此拼写检查器将其作为建议返回
除了为无词干单词创建一个附加字段以便拼写检查器检查之外,是否还有其他方法可以将这两个字段一起使用?正如Shashikant上面提到的:
你是对的,这是由于堵塞造成的。不幸的是,词干词不仅
我同意并喜欢它,但我真的宁愿在开始使用之前解决这个问题。所以我开始悬赏,希望以后我的屁股不会被咬
使用Lucene.NET 2.9.x,任何使用.NET的版本。如何搜索和限制/分页与SQLite和MySql中的limit关键字类似的结果?我想找到前20个有“苹果”字样的文档,并且有一个链接到第20页,返回20个结果,忽略前400个得分较高的文档。我应该实施它吗?下面是Pascal Dimassimo的答案
1k问题
嘿,伙计们,我现在有999个问题,所以这将是我的第1000个问题!我只想对所有回
我们已经用Solr 1.5索引了很多数据。由于该版本不再受支持,我们希望转到Solr 4.0 trunk。我可以轻松地将所有Solr结果下载到一个.XML文件中(已经下载了,大小超过40Gb),然后运行xslt转换,将Solr结果XML转换为Solr更新XML(当然使用XSLTC),但是还有其他“标准”方法在Solr节点之间传输数据吗?有点像垃圾场
将XSLT代码放在此处供参考:
您应该能够将索引二进制文件($SOLR\u HOME/data)复制到新节点。除此之外,标准的方法可能是使用复
我的应用程序使用独立版本的jackrabbit,我们希望转移到嵌入式模式,以便对其进行集群
我阅读了jackrabbit集群站点上的要求,但仍然感到困惑。我应该为每个集群节点设置不同的主目录。i、 e.如果我需要配置两个节点,我是否需要~/node1/repository.xml和~/node2/repository.xml?或者他们可以共享相同的~/node/repository.xml?,“每个集群节点都需要自己的(私有)存储库目录,包括repository.xml文件、工作区文件系统和搜索
在使用自定义收集器时,是否可以对Lucene结果进行排序,或者我是否必须自己在收集器对象中实现该功能?我找不到允许我同时传入自己的收集器对象和排序字段的IndexSearcher.Search重载
Lucene.Net,v2.9您必须自己实现排序。但是Lucene.Net有一个抽象类PriorityQueue,可以在自定义收集器中使用(排序时在Lucene.Net内部使用它(而不是收集所有结果,然后对其应用排序))
公共类MyQueue:Lucene.Net.Util.PriorityQueue
如何通过RESTAPI将分析器设置为标准分析器,而不是Neo4j中全文索引中的空白分析器
我看到有一个“analyzer”属性可以配置,但该值应该是什么
我尝试了下面的方法,当我尝试创建它时,它会抛出一个错误,然后留下一个损坏的索引
{
"name" : "Standard4",
"config" : {
"type" : "fulltext",
"provider" : "lucene",
"analyzer": "org.apache.lucene.analysis
根据本页:
你可以像这样做搜索
标题:“正确的道路”和文字:开始
我想添加一个新字段“testfield”,它包含像{a,B,C,E}这样的多个值
所以我可以得到一个搜索结果#1,它是“testfield”={A,B,C,E}
另一个搜索结果#2 who的“testfield”={C,E,D,F}
我的目标是能够进行如下搜索:
测试字段:“C”和测试字段:“E”
在这种情况下,它应该同时返回搜索结果#1和#2
但是,如果我这样做:
测试字段:“A”或测试字段:“B”
那么我应该只得到搜索结果#
我正试图找到一个好的库来建立一个语言语料库搜索引擎。这样一个引擎必须产生绝对透明的搜索结果(找到的匹配项的确切数量,即使整个语料库匹配也没有结果切割)、基本查询语法(和、或,而不是运算符、距离搜索、通配符搜索)以及细化要搜索的文档集的能力(即,设置次循环)。
一个重要的细节是索引划分和并行执行搜索的能力(语料库的大小为10^8个单词,搜索服务必须是实时的)
主要选择在狮身人面像和Clucene(C++ Lucene端口)之间。不幸的是,我对这些库的组织不太了解,所以知道哪一个更适合我的需求会很有
你好,我有3个字段标题,内容,网址和我创建的索引添加了一些文件
Document doc = new Document();
doc.add(new TextField("title", title, Field.Store.YES));
doc.add(new TextField("content", title, Field.Store.YES));
doc.add(new StringField("url", isbn, Field.Store.NO));
w.addDo
关于如何在Lucene中索引POJO,有没有一个很好的例子?JIRA在处理问题时也是这样做的
例如,如果你有
class Book {
private String author;
private String title;
}
我希望作者和标题字段的文本在Lucene中被索引,这样我就可以搜索它们
我知道这是可能的,但还没有找到一个好的简明的例子
我使用的是EclipseLink,而不是Hibernate,所以Hibernate搜索不是一个选项 案例1:
如果可以通过getter公开
标签: Lucene
is-emptymorelikethis
我是Java和Lucene的新手。
我正在尝试一个简单的MLT测试,但我没有得到任何结果
import java.io.File;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWr
标签: Lucene
elasticsearchmorelikethis
我有一项服务,可以推荐与用户当前上下文相关的文档(文件)。它将ElasticSearch与过滤器结合使用(参见下面的查询)。这些文档由用户上传,如果是公开的,则可以向其他用户推荐。它工作正常,但当两个或多个用户上传相同的文件时就会出现问题。elasticsearch中有两个或多个相同文档的实例,很可能会推荐两个(甚至更多)文件
有人知道我如何强制ElasticSearch忽略这些重复项并只返回同一文件的一个实例吗
POST _search
{
"query": {
"filtered":
我正在开发一个基于CouchDB的地理编码应用程序,该应用程序使用一个大型国家数据集,该数据集是以关系方式提供的。大约有2.5亿条记录分为9个表(ER图可在上查看)。我对nosql文档数据库和CouchDB尤其陌生,我正在考虑如何对此建模。目前,我已经将每个表的数据加载到CouchDB数据库中,其中的类型字段指示它是哪种记录。_id属性被设置为表[A]和[C]的主键,对于其他所有内容,它都是由coach自动生成的。我计划用coach设置Lucene,用于索引和全文搜索。X和Y点坐标都存储在表[A
我有一个neo4j数据库(版本2.0.2),其中包含5M个节点和这些节点的所有属性的索引
当我有一个命中率为1M的索引搜索结果()并且只需要结果:500k-510k时,迭代器从数据库中加载所有节点(0-500k)并跳过它们,这相当慢。。。以下是我目前的做法:
final int pageSize=5000;
最终整版=100;
最终索引Index=graphDatabaseService.Index().forNodes(“indexname”);
final IndexHits hits=in
标签: Lucene
elasticsearchfull-text-search
我的查询\u字符串查询给我一个ToomanyColauses异常。然而,在我的例子中,我不认为异常是由于以下原因引发的。相反,它似乎与突出显示相关,因为当我从查询中删除突出显示时,它会起作用。这是我的原始查询:
{
"query" : {
"query_string" : {
"query" : "aluminium potassium +DOS_UUID:*",
"default_field" : "fileTextCon
我有一个地址文档类型,其中城市为字段。城市场使用分析仪
"keyword_analyzer": {
"tokenizer": "keyword", # So that we don't split multi word city name
"filter": ["lowercase"] # The search needs to case insensitive
}
如何获取与给定城市“X”或城市为空匹配的任何地址。在sql中,它将被写为
SELECT * FROM address
W
我正在使用ApacheMahout创建TFIDF向量。我指定EnglishAnalyzer作为文档标记化的一部分,如下所示:
DocumentProcessor.tokenizeDocuments(documentsSequencePath, EnglishAnalyzer.class, tokenizedDocumentsPath, configuration);
这为我调用的business.txt文档提供了以下向量。我很惊讶地看到里面有一些无用的词,比如have,on,I,,例如。我的
我在lucene 6.2.0中的查询如下:
query query = new PhraseQuery.Builder()
.add(new Term("country","russia"))
.setSlop(1)
.build();
基本上在我的所有文件中:
{
"_id" : ObjectId("586b723b4b9a835db416
我的数据库将恢复存储为blob数据字段。简历可以是Microsoft word、pdf或images.jpg等。我们如何用这些不同的文件类型,特别是.jpg文件创建Lucene索引?Tika能理解扫描图像吗
从图像提取时,还可以通过TesseractOCRParser在Tesseract中链接,以便对图像内容执行OCR
查看有关图像的Apache Tika文档:
我刚刚开始在我的项目中使用Elasticsearch,我想像sql关键字'like%'那样进行搜索
有人能解释一下通配符、前缀、查询字符串和Regexp之间的区别吗
哪一个搜索性能最好
定义关键字字段并使用我提到的三种方法之一进行搜索,这是在产品标签之间快速搜索的最佳方法吗
我感谢任何回答我的人
谢谢。哪个查询更好?
让我逐一回答
有人能解释一下通配符、前缀、查询字符串和Regexp之间的区别吗
它们的功能和实现方式非常相似。事实上,和。查询允许更复杂的查询,例如使用逻辑运算符,如或和和quer
是否可以使用Examine Index和Lucene进行不区分大小写的搜索,而不改变存储的数据?
我正在保存带有Id、标题、文本和日期的文章。
我不想将数据索引为小写,因为我想从索引中读取数据并按原样显示。因此,我可以跳过到数据库获取数据的步骤。
将相同的数据保存两次,一次按原样保存,一次按小写保存,感觉这样做不对
有没有关于如何解决这个问题的建议
检查索引.config
<IndexSet SetName="MySearchIndexSet" IndexPath=&
标签:elasticsearch Lucene
aws-elasticsearch
当使用简单的查询字符串时,我有一种特殊的突出显示行为,可以使用任何高亮显示(普通、统一、fvh)
突出显示简单查询字符串使用术语(而非短语)时的工作情况:
当您关闭报价单时,突出显示将停止工作,从而有效地使定期会议成为一个短语:
但是,如果我将任何大于0的slop添加到以前不起作用的短语中,它会再次正常工作,尽管结果集错误,因为我不希望出现slop结果:
使用direct API请求时,当搜索具有零斜率(或未定义斜率)的短语时,高亮显示键在结果中完全消失,从而导致上述第二步中的行为
使用,我的Lucene也包含数字术语(即“200”)。所以我的索引中的项数太大了。
有人知道是否存在丢弃数字术语的分析器或标记器吗?
如果没有,有什么简单的方法吗?安东尼奥,我建议你尝试使用
如果这对您不起作用,您可能必须编写自己的分析器
假设我的索引有两个文档:
“富吧”
“巴富”
当我对“bar-foo”进行常规匹配查询时,两个文档都正确匹配,但它们的相关性得分相等。然而,我希望在评分过程中单词的顺序是有意义的。换句话说,我希望“巴富”的分数更高
因此,我尝试将匹配查询放在bool查询的must子句中,并包含一个match_短语(具有相同的查询字符串)作为shoul子句。在我使用“bar test foo”进行搜索之前,这似乎可以正确地获得点击率。在这种情况下,match_短语查询似乎不匹配,命中率再次以相同的分数返回
如何构
上一页 1 2 ...
47 48 49 50 51 52 53 ...
下一页 最后一页 共 78 页