有人能解释一下什么是SpanQuery,它的典型用例是什么吗
这个查询非常简洁,并且不断提到“span”的概念,我不太确定我是否理解它。span查询是一个查询,它返回关于每个匹配在文档中发生的位置的信息。使用getSpans()方法获取位置
下面的一组幻灯片(不幸的是在Powerpoint中)包含一个示例:为Lucene提供了一个功能。它们用于查找彼此相邻的多个术语,而无需这些术语按指定顺序出现。您可以指定要查找的术语以及它们之间的距离。您可以将这些span查询相互组合,也可以与其他类型的Luc
当我更改synonyms.txt时,我只看到这样做时的差异:
重新启动solr服务器
索引某些项(空提交?)
有人知道一种不用重启服务器就可以重新加载synonyms.txt文件的方法吗
TK很多。也应该重新加载同义词。我几乎总是将索引映射到核心(即使每个实例只有一个核心),因为它提供了增强的灵活性(如本例所示)
这有意义吗
对于我的客户来说,为克罗地亚语开发分析器太贵了,我没有找到任何现有的分析器……所以我的问题是……我是否告诉他们放弃使用Lucene来处理克罗地亚语内容的想法
谢谢 声称支持克罗地亚人。罗伯特·穆尔、克里斯·马累和其他人。密码。克罗地亚语是列表中受支持的语言之一。
由于hunspell是GPL,我认为可能存在许可问题,但它非常值得检查。什么要求?变音学?阻止?同义词?
标签: Lucene
faceted-searchfacets
有没有办法给Lucene中的一个方面添加一个提升因子?比如:
List<CategoryPath> facetCategories = new ArrayList<CategoryPath>();
for (MyFeature f : allFeatures) {
**Double boost = f.getBoost();**
facetCategories.add(new CategoryPath("feature", f.getName(), **
我想知道我们是否可以在Lucene中搜索一个字段的值数组
例如:
String s[] = {"John","Daniel", "Doe"---------------------------until 50 or 1000};
所有字符串值都是FirstName字段的值。是否可以在一个字段中搜索多个值,而不增加操作成本
谢谢 你可以这样做
fieldName: John Daniel Doe ...
所有术语都将或ed,因此结果集将包含与任何值匹配的所有文档
生成此类查询的代码可以是
va
我目前正在使用neo4j BatchInserter大量创建一个大型图形。接下来,我选择使用Lucene索引对节点进行索引。据我所知,neo4j提供了自动索引功能。此功能是否也可用于批量插入?如果是,会加快程序吗 否,批插入器不支持自动索引。但是,您可以手动写入名为“node_auto_index”的索引,该索引手动填充自动索引。索引将不会加快批量插入,相反,索引总是以写换读性能。因此Lucene索引是建议的索引。Lucene比node_auto_index快?它是相同的索引,只是有一个特殊的名
答案可能就在这个问题上,但我还是想确定一下:-)
我索引了10000份文件。每个文件都有一个字段,用于存储大小正好为100KB的文本(它来自使用UTF-8的文本文件)。当这个字段被解压时,索引目录是436MB,但是当这个字段被压缩时,它只有11,4MB。这将是一个37,5的压缩比-这太好了,不是真的吗?或者数据是否可能存储在我的计算机上索引目录之外的其他位置
当我检索字段时,没有错误。一切都很好,但我从生活中肯定知道,如果某件事情太好而不可能是真的,那么肯定有什么事情是错的:D
代码如下:
//
假设我有一个简单的Lucene索引。它只有一个文档,有一个字段,如“text”,有一个值,如“maschio”。我只想创建一个与此字段匹配的查询,就像SQL中的结尾%一样。
以下查询适用于我:
text:m*
text:ma*
text:maschi*
但问题是:
text:maschio*
与该字段的文档不匹配。还有另一种执行这种搜索的方法,可能使用精确的查询类型?我需要前面的所有查询来匹配该项。这可能是一个分析问题。使用StandardAnalyzer或EnglishAnalyzer可以
我在ES中存储了大约1000万个非常扁平(像RDBMS行)的文档。假设每个文档有10个字段,其中5个字段实际上是枚举
我已经创建了一个映射,将枚举的序号映射到一个短的,并在索引文档时传入序号
Elasticsearch是否在其索引中将这些值存储为短值?或者他们得到了。toString()?当我把一个字段映射到一个数据类型时,“引擎盖下”到底发生了什么?因为ES是建立在Lucene之上的,所以在这里可以看到字段是如何在“引擎盖下”实际存储和使用的
据我所知,Lucene实际上不仅仅以字符串格式存储
我在ES中存储了大量文档,其中包含了文档的一些属性,允许我进行一些基本查询,但我还存储了一个相当大的XML blob,其中包含所有数据,以便在需要时提取这些数据
现在,随着数据的增长,查询速度变得越来越慢(不成比例),尤其是通过Kibana
我可以从搜索查询中排除某些字段,但我说的对吗?因为ES是基于文档的,所以它仍然必须从磁盘读取整个文档(包括blob),即使它不会返回blob?或者ES/Lucene做了一些魔术来避免这种情况吗?如果您正在运行搜索查询,那么您将在索引数据上运行,而不是在源上运
我必须使用lucene语法根据以下匹配条件获取数据:
-资产状态等于“存档”
-资产日期小于或等于2016年9月29日04:00
我尝试以下情况:
资产状态:存档和资产日期减去[09/29/2016 04:00]
但上述条件不起作用
请告知。您能在lucene QueryParser()的非关键字中显示您的代码吗?“less”,不知道您是从哪里得到这个想法的。若要索引和搜索日期,通常必须首先将其转换为适当的格式,请参阅。assetDate值被选为字符串类型(例如2018-02-02 04:00)
目前,传递到ES的所有搜索查询都被截断为1000个字符。不管怎样,我们经常会遇到这样的错误:
[2019-10-08T15:44:08,126][DEBUG][o.e.a.s.TransportSearchAction] [zir05M0] [135539946] Failed to execute fetch phase
org.elasticsearch.transport.RemoteTransportException: [zir05M0][__IP__][__PATH__[__PATH
有没有办法从solr中检索每个匹配文档的每个关键字的匹配字段/位置
例如,如果文档标题为“在Lucene Solr中检索每个关键字/字段的匹配位置--可能?”并且查询为“Solr关键字”,那么除了文档id(我通常只想要文档id,而不是完整文档)之外,我还想获取一些信息,告诉我匹配的位置在:
solr:
title: 9
keyword:
title: 3
我很确定这样的信息是在查询执行期间计算的(对于短语查询),但是有可能将这些信息返回到应用程序吗
谢谢 AFAIK没有办法直接做到这一
我尝试了这个Lucene代码示例,它很有效:
然而变化:
Query=parser.parse(“st.”)
到
Query=parser.parse(“t”)
返回零命中率
如何编写Lucene查询以返回包含字母“t”的所有单词?
(返回的最大点击次数=20)
编辑:以下是有效的方法:
RegexQuery RegexQuery=新的RegexQuery(新术语(“字段名”、“.t.”)
search(regexquery,收集器)
System.out.println(“collector
我读过一些Jira的作品,他们在一年前提到将快速矢量荧光灯移动到core,但一直没有成功
从合同上看,它似乎是不完整的
FastVectorHighlighter没有测试
缺乏文件
apache.org上没有任何示例
有人知道它的状态是什么吗?它在3.1版本中提供,并且将在3.1版本中提供。问得好。然而,我想知道你是否在这里得到了答案。也许lucene dev邮件列表是一个更好的地方来问这个问题。
我的域对象有20个属性(列、属性,不管你怎么称呼它)和简单的关系。我想索引5个属性用于全文搜索,3个用于排序。可能有100000条记录
为了保持应用程序的简单性,我希望将字段存储在Lucene索引文件中,以避免引入数据库。是否会出现性能问题?根据您访问存储字段的方式,这些字段可能会全部加载到内存中(基本上,如果您使用了一个新字段,则在第一次使用后,所有内容都会缓存到内存中)。如果你有一格的存储占用了内存,那么你的实际索引就少用一格了
这可能是性能增强,也可能是性能损害,具体取决于您拥有的内存量
我希望创建一个包含以下字段的索引:
UID
标题
所有者
内容
其中,我不希望UID是可搜索的。[喜欢元数据]
我希望UID的行为类似于docID,以便在我要删除或更新时,
我要用这个。
这可能吗?如何做到这一点 您可以通过添加Store.YES和Index.NO将其标记为不可搜索,但这不允许您使用它轻松更新/删除。您需要索引该字段以允许替换它(使用IndexWriter.UpdateDocument(Term,Document)其中Term=newterm(“UID”、“…”)),因此您需要
免责声明:在过去的41个小时中,我已经编写了36个。我头痛。我不明白为什么这个组合令牌过滤器返回2个令牌,都是来自源流的第一个令牌
public class TokenCombiner extends TokenFilter {
/*
* Recombines all tokens back into a single token using the specified delimiter.
*/
public TokenCombiner(TokenStream in, i
我正在努力推进某些文档。但是他们没有得到提升。请告诉我我错过了什么。谢谢
在我的索引代码中,我有:
if (myCondition)
{
myDocument.SetBoost(1.1f);
}
myIndexWriter.AddDocument(document);
然后,在我的搜索代码中,我将ScoreDocs对象中的文档集合检索到myDocuments集合中,并:
foreach (Lucene.Net.Documents.Document doc in myDocum
通过读取现有的Lucene索引,是否可以找出字段上使用了哪些分析器/标记器?如果是,请告诉我怎么做。正在查找可能与索引一起存储的某种元数据。Lucene不存储此信息。如果您希望以后能够使用它,您需要自己存储它。lucene如何知道该字段已被分析或存储?lucene存储了一些字段信息,但它是最小的。例如,它知道一个字段被索引,但它不知道它是什么类型(数字,字符串?),或者在字符串的情况下使用了什么分析器。有趣的是,那么它在检索结果时如何知道?(对它的工作原理不太熟悉)这里是Lucene用于每个字段
我与Lucene一起开发了一个搜索应用程序。我已经创建了基本搜索。基本上,我的应用程序的工作原理如下:
我的索引有很多字段。40岁左右
用户可以输入多个字段的查询,即:+NAME:John+姓氏:Doe
查询可以包含通配符,例如?和*即:+姓名:J?hn+姓氏:Do*
查询也可以包含模糊信息,即:+NAME:Jahn~0.5
现在,我想找到,哪些字段包含我的搜索词。由于我使用的是通配符和模糊符,所以我不能只进行字符串比较。我怎么做呢?如果您需要它进行调试,可以使用
否则,此问题看起来像高亮显示,
如何使用Lucene或hibernate搜索索引和搜索自定义字段。我找不到索引自定义字段的方法。它们是动态的
这里的“自定义字段”表示用户可以编辑这些字段,这些字段不是硬代码
任何帮助都将是感激的 查询自定义字段
只需使用投影API:
FullTextQuery hibernateQuery = fullTextSession
.createFullTextQuery(luceneQuery)
.setProjection("myField1", "myField2");
L
我在我的网站上使用Lucene.Net搜索联系人。每个联系人都包含性别、年龄和城市等属性。我正在使用分页,每次收到10个结果
我需要添加工具栏以根据属性缩小结果范围,例如:
Gender: Male (154), Female (103)
Age: 0-16 (34), 17-24 (86), 25-34 (117)
有没有一种简单的方法可以在搜索过程中获取这些信息
谢谢 来自维基百科:
,也称为分面导航或分面浏览,是一种根据分面分类系统组织的信息访问技术,,允许用户通过应用多个过滤器来浏览
是否可以在elasticsearch中向现有文档添加更多字段
例如,我为以下文档编制了索引:
{
"user":"xyz",
"message":"for increase in fields"
}
curl -XGET 'http://localhost:9200/myindex/mytype/_search?q=user:xyz'
现在,我想再添加一个字段,即日期:
{
"user":"xyz",
"message":"for increase in fi
我正试图根据我们掌握的数据制作一个搜索页面。这是我的密码
SortField sortField = new SortField(TEXT_FIELD_RANK, SortField.Type.INT, true);
Sort sort = new Sort(sortField);
Query q = queryParser.parse(useQuery);
TopDocs topDocs = searcher.search
将生成Lucene查询,如下所示:
Query luceneQuery = builder.all().createQuery();
然后应用面
我不确定当应用facet时,luceneQuery是否会与其他查询进行and和OR运算,从而生成一个新的Lucene查询。或者,可能会对原始查询应用一组位集来优化结果。(我不知道)
如果生成了一个新查询,我想检索它。如果不是,我需要重新思考。这是问题的关键
原因:
我正在对具有多个可能值的字段应用分面搜索
例如,TMovie.class多对多TTag
标签: Lucene
elasticsearchfaceted-search
我有一些帖子数据,我使用elasticsearch搜索这些帖子的标题。然后,我使用过滤器根据类别ID和一些其他参数过滤结果。我试图做的是获取与查询条件匹配的所有类别的帖子,并忽略过滤器
以下是我迄今为止所做的工作。这是查询部分:
if ( ! empty($search) )
{
$query['multi_match'] = array(
'query' => $search,
'fields' => array('title', 'titl
目前我正在开发ApacheLucene4.6
Lucene可以搜索文档的所有字段吗
或
我必须创建另一个包含所有文本的字段
请帮忙
提前感谢。您可以在所有字段中搜索。你只需要了解所有领域。e、 g.当您有字段body和header和title,并且您想要查找单词“hello”,您可以搜索+body:hello+header:hello+title:hello
原始日志如下所示:
{"@message":"INFO 2014-03-03 23:59:30,022 [automatic.notify.service.17] ...
如果我搜索23:59:30022,我可以找到行,但是如果我搜索23:59:30,没有结果返回对此的任何解释?因为它正在寻找精确的匹配,如果你不关心毫秒,你应该尝试23:59:30*。你在Kibana中使用的搜索模式是什么
基本上:
@message="<string>"
应该可以,尽管您可能需要添加更多的条件,
我试图在几秒钟内创建一个索引,结果如下:
[2014-06-02 14:10:14,414][WARN ][index.engine.internal ] [shardicaprio] [myindex][0] Could not lock IndexWriter isLocked [false]
下面是完整的堆栈跟踪:
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLo
也许这个问题有点奇怪。。。但我会尽量问的
使用Lucene API编写应用程序的每个人都看到了这样的情况:
public static String removeStopWordsAndGetNorm(String text, String[] stopWords, Normalizer normalizer) throws IOException
{
TokenStream tokenStream = new ClassicTokenizer(Version.LUCENE_44, ne
在查询时,我几乎总是得到SpanQuery匹配,并且想知道如何预先计算窗口共现统计数据?在查询时这样做似乎会减慢搜索时间
SpanTermQuery[] span_query = new SpanTermQuery[3]
span_query[0] = new SpanTermQuery(new Term("text", "united"));
span_query[1] = new SpanTermQuery(new Term("te
我有一个简单的项目,需要实现这类事情
Sports - > Sport
Walking -> Walk
and ideally also do things like:
good -> better
better -> good
person -> people
people -> person
有人能给我指一指能达到这个目的的最轻松的方式吗?(我知道有像Lucene、CoreNLP等lib),但这些都很重,我真的需要一个词干分析器/柠檬酸盐分析器
谢
标签:elasticsearch Lucene
n-gram
我有一个elasticsearch索引,它是这样创建的:
curl -XPUT 'http://localhost:9200/person' -d '{
"settings": {
"number_of_shards": 1,
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "edge
我正在使用IndexWriter为一系列文档编制索引,并在迭代结束时提交更改
为了访问未提交的更改,我将使用所述的NRT
想象一下,我正在为1000个文档编制索引,并对它们进行迭代,以检查是否有可以重用/更新的文档。(我有一些具体要求)
我将在每次迭代时重新打开阅读器:
using (var indexReader = writer.GetReader())
using (var searcher = new IndexSearcher(indexReader))
重新打开读卡
我有一个针对Lucene 5.3.1的junit测试,这让我很困惑。我正在尝试测试字段“代码”的搜索。索引中的每个文档都设置了此字段,所以搜索应返回索引中的所有文档。但我没有得到任何结果。当我将“代码”字段更改为文本字段时,一切都正常。
以下是测试:
公共类LuceNet{
私有静态最终字符串代码\u字段\u NAME=“CODE”;
私有静态最终字符串ID\u字段\u NAME=“ID”;
私有静态最终字符串代码\u VALUE=“Address”//$NON-NLS-1$
私有静态最终字符
我们是否有任何API可以识别与特定主题相关的文本文件中的内容
例如,我有一个文本文件,其中有5000行文本
我想提取与主题ABC相关的文本。lucene或任何其他api都能做到这一点吗?有什么想法吗
我使用Lucene来识别包含特定单词的文档,但我想知道我们是否有任何api可以从与特定主题相关的文件中提取内容。这是一个相当广泛的问题,但从您提供的信息来看,显然您有两个选择
选项1:使用API
你可以使用汤森路透,这是我见过的最适合开发者使用的。然而,我可以想象,随着时间的推移,它会变得昂贵。他们
这就是我想做的
我对文档中的每个标记/术语/单词都有一些计算
在计算每个标记/术语/单词之后,我想对(例如)这个数字(如#1所述)求和,并将其存储为文档的一个属性
据我所知,对于#1,我可以使用自定义令牌过滤器,这将帮助我对每个单词执行计算。处理完文档中的所有单词后,我将对给定文档的这些数字进行汇总
我的问题是,如何保存我计算的总数?我想将其另存为文档的属性或字段。据我所知,我无法访问令牌筛选器中的字段。是否有其他策略来实现这一目标
请导游
我不知道setDisableCoord是什么,我应该为它设置什么值。我理解简单查询中的coord(例如TFIDF查询)。但我不明白在由多个查询组成的布尔查询中它意味着什么
为了提供一些上下文,假设以下两种场景。我应该在setDisableCoord中为它们中的每一个设置什么值
在第一个场景中,我有一个带有BooleanClause.occure.FILTER的查询(该查询仅用于过滤)和另一个用于评分的查询(BooleanClause.occure.MUST)。在这种情况下,第一个查询只检查文档的
使用Sitecore 8.2.1
我已经在Sitecore的ContentSearch配置中定义了一个自定义索引。我在索引中定义了一个计算字段“MinPrice”和“MaxPrice”
这些字段出现在索引中,但我想查询这些十进制值的范围或使用大于或小于
我正在使用Sitecore PredicateBuilder创建查询
我已将计算字段定义为:
<fields hint="raw:AddComputedIndexField">
<field fieldName="
我是一个完全的Lucene新手,如果这个问题太基本,我很抱歉。谷歌搜索没有帮助。我有一些代码可以将Lucene 2迁移到5。旧代码将文档处理为-
Document doc = new Document();
doc.add(new StringField("id", "id1", Field.Store.YES));
doc.add(new IntField("numBooks",10,Field.Store.YES));
...
新的Lucene不再有IntFields。处理这些问题的最佳方
标签: Lucene
information-retrievalrating
我是Lucene的新手,我将使用tf idf算法对一些文档进行评分。我的文档包含以下字段:
一、 T,A,B,W
我的索引功能:
private void indexFile(File f) throws Exception {
Document doc = getDocument(f);
writer.addDocument(doc);
}
MygetDocument功能:
protected Document getDocument(File f) throws Excepti
一个多星期以来,我一直在努力登录elasticsearch中关于我运行的查询的索引,以便比较不同类型查询的性能。我已经在logstash主目录中配置了这个配置文件
input {
beats {
port> 5044
}
}
filter {
if "search" in [request]{
grok {
match => { "request" => ".*\n\{(?<q
获取度量的总和
你好
我目前正在为我的公司做一个小项目。现在我面临一个问题,我必须得到两个指标的总和
目前,4个指标中的2个正在计算平均rx和tx,另外两个指标正在计算平均rx和平均tx的导数平均值
导数平均Rx值为3.3,导数平均Tx为3.4
现在我需要一个查询或一个度量,在这里我得到这两个导数平均值的和。比它应该显示的6.7
我正在使用Grafana 7.1.5和Kibana 7.9.0
谢谢你的帮助
瓦林斯基我找到了解决这个问题的办法。在仪表板的.json文件中,您可以从衍生平均值中提取i
标签: Lucene
Aem
query-builderjackrabbit-oakjcr-sql2
我想使用querybuilder从搜索路径中排除子节点路径
例如,父文件夹是/content/mysite/en
和子文件夹是
/content/mysite/en/testfolder1
/content/mysite/en/testfolder2
我希望查询生成器编写一个查询以排除这些路径
我已经看过这个问题了-
但是分组路径和p.not=true似乎并不像预期的那样工作
我知道使用查询生成器编写这样的查询有点棘手;所以我使用的是JCR/SQL2查询-
使用
但现在的问题是,我们还需要由Q
是否可以在RavenDB查询中增强最近的文档
但指的是土生土长的Lucene,而不是RavenDB
例如,如果我有这样一个文档
public class Document
{
public string Title { get; set; }
public DateTime DateCreated { get; set; }
}
如何提升日期接近给定日期的文档,例如DateTime.UtcNow
我不想orderbydecenting(x=>x.DateCreated),因为
是否可以根据地理距离和节点属性过滤Neo4j中的节点,并像时间戳一样返回节点距离以外的顺序。我可以使用基于lucene的标准索引和neo4j geo层来做一个或另一个,但我似乎无法将两者结合起来提供全面的查找。任何关于如何实现这一点的想法都将不胜感激。非常感谢,詹姆斯。是的
必须有一个LayerNodeIndex,您已将节点添加到该索引中:
LayerNodeIndex layerIndex = new LayerNodeIndex("layerIndex", graphDb, config);
我想在kibana中添加一个过滤器,比如(-(值21))将至少给出一次值>21的记录,所以它将在某个时间给出一些值为21的记录。
所以我想提取有值的记录的倒数,我真的不知道。你们能举个例子吗?我真的不知道。你们能举个例子吗?
据我了解,Lucene使用反向索引。有没有办法以反向索引格式提取/打印lucene索引(lucene 6):
term1 <doc1, doc100, ..., doc555>
term1 <doc1, ..., doc100, ..., do89>
term1 <doc3, doc2, doc5, ...>
.
.
.
termn <doc10, doc43, ..., dock>
term1
术语1
术语1
.
.
.
ter
不确定这是否可行。假设在处理一个输入时,如果逻辑到达检查点1,就会有一个日志记录,如果它到达检查点2,就会有另一个日志记录。对于相同的输入,两个日志都包含相同的id字段
如果我分别使用类似于event.message:(“检查点1”)和event.message:(“检查点2”)的东西,并比较数字,我可以看到有区别。但是我能说给我看检查点1消息吗?对于其id字段,没有检查点2消息
上一页 1 2 ...
7 8 9 10 11 12 13 ...
下一页 最后一页 共 78 页