我的lucene索引已将纬度和经度字段索引如下:
doc.Add(new Field("latitude", latitude.ToString() , Field.Store.YES, Field.Index.UN_TOKENIZED));
doc.Add(new Field("longitude", longitude.ToString(), Field.Store.YES, Field.Index.UN_TOKENIZED));
我想从这个索引中检索一组文档,其lat和long值在给定
搜索时,搜索只返回存储的字段。出于调试原因,我还需要查看未存储的字段。有办法通过API吗
谢谢
p.S.:我知道卢克,不幸的是我不能在我的情况下使用它。如果未存储的字段被存储……它们会被称为存储字段,对吗
对于未存储的字段,您只能看到索引时的标记化关键字,这需要取消反转反转索引。使用IndexReaderAPI,可以枚举特定字段中的所有唯一术语。然后,对于每个术语,您可以枚举包含该术语的文档。这大致告诉您给定文档的指定字段的值
根据索引过程中对字段执行的分析,这可能使您能够准确地重建原始字段,或
我可以使用Lucene运行高级查询吗?
高级查询,如方面查询、多个或和查询。Lucene可以执行问题中描述的许多操作(和、或等)。您是否阅读了文档或签出了示例应用程序?根据您的需要,您可能想看看RavenDB。正如凯恩已经指出的,Lucene支持您问题中描述的许多操作。如果您需要所有这些,那么您应该看看lucene实现,比如Solr。Solr支持所有这些,并且基于lucene
我用StandardAnalyzer索引了lucene索引。索引由值“和”组成。
当我尝试搜索字段值并使用MultiFieldQueryParser时,搜索会导致错误
例:字段1:*和字段2:和
文件1:*和字段:“和”
我尝试了转义,但这是转义字段值。我也试过在双人间(“和”)。但未能成功获得正确的值
这方面的任何建议都会有所帮助
提前感谢。我想这里可能有两个问题:
,我想你可以把“and”放在小写。标准查询解析器中的布尔术语必须为大写。无论如何,考虑到标准分析仪的一个步骤是降低灵敏度,这不
我正在为餐馆建立一个推荐系统。每个餐厅都以文件的形式表示。它有以下特点(领域)、菜肴、设施、类型
现在,我读到了更多关于这个问题的信息。它根据术语频率查找类似的文档。因此,它会忽略以下两个文档:
“澳大利亚无麸质牛排馆”
因为Lucene索引不考虑它们重要的术语,因为它们只出现一次。
是否有任何其他查询忽略术语频率?只需根据匹配的最大关键字数查找类似文档?您可以使用文档的全部内容创建一个查询,方法是通过QueryParser,类似于:
QueryParser myQueryParser = ne
Lucene in Action第二版。包含一章介绍一种叫做krugle的产品,该产品使用Lucene搜索源代码。我从未使用过swish-e,所以我无法比较它们,但那本书谈到了使用Lucene的好处和坏处。你也可以尝试他们的搜索,寻找他们的价值
总结他们的章节:
优点:Lucene的规模非常大,速度也非常快。基本上,一旦你有了索引,它就是肉汁
缺点:标准的分析器会抛出像“if”和“for”这样的单词,以及像“{”这样的标点符号,这在源代码搜索中很重要。而且代码不容易标记(例如,“GetData
我需要有基于Azure/Lucene.NET实现的搜索索引。话虽如此,我对Solr和Hadoop以及它们为Linux用户提供的东西知之甚少
因为我不知道未来的学习曲线,我会告诉你我在寻找什么,也许你可以告诉我应该如何度过我的时间
我对我们系统中不断增长的一批电子邮件的索引很感兴趣。在发送或接收消息时,需要对其进行搜索。这意味着索引可能会变得巨大,这就是我们关注云存储的原因。考虑到我熟悉Azure,管理层建议我们使用Lucene.NET
你认为我花时间的最佳方式是什么:研究如何让Lucene.NE
我正在构建一个web应用程序,它涉及非常频繁的数据库更新(可能每秒10-100次),并且还需要相同的搜索操作速率。(即用户发布信息,然后需要定期对该信息进行全文搜索,并在提交后很快进行搜索)
目前的计划是使用MySQL作为数据库,但在Solr中的可搜索数据上构建一个索引,以返回“item id”,然后从MySQL数据库中检索该id
是否有人能够向我提供有关Solr支持我需求的能力的任何见解/信息
谢谢 这并不容易,因为Solr最初设计用于低更新频率。但是,和(现在在Solr4.0夜间版本中提供)
当应用服务器意外退出时,Hibernate搜索无法正常关闭Lucene。在每个索引目录中保留write.lock文件。这当然很正常。但是-重新启动应用程序后,锁定文件也会保留。这会在某些时候导致锁定超时异常
我的问题是,是否有一个通常的方式来处理复苏
首先想到的是检查write.lock文件是否存在。如果找到一个索引,将删除它们并重建所有索引。但是,如果配置正确,Hibernate Search可能会自动执行此操作?如果Hibernate Search在启动时删除锁定文件,那么如果您错误地将两个
对于以下文档(假设每个文档中只有一个字段):
1-A B C D
2-ab
3-CDAB
(A-D是不同的术语)
我想创建一个只匹配文档1和文档2的查询“ab”。我知道我可以插入一个特殊的“字段开头”标记来帮助我,但我更愿意避免这种情况(需要重新索引所有数据,而且有点难看)
如何才能做到这一点呢?找到了答案。诀窍是将a与a结合起来
SpanNearQuery spanNearQuery = new SpanNearQuery(new[] { new SpanTermQuery(new Ter
我有一个字段,里面可能有撇号。
我希望能够:
1.按索引中的原样存储该值
2.基于忽略任何撇号的值进行搜索
我正在考虑使用:
doc.add(new Field("name", value, Store.YES, Index.NO));
doc.add(new Field("name", value.replaceAll("['‘’`]",""), Store.NO, Index.ANALYZED));
如果我在搜索时执行相同的替换,我想它应该可以工作,并使用清除的值来索引/搜索,
标签: Lucene
highlightelasticsearch
如何在elasticsearch中使用fuzzyLikeThisFieldQuery突出显示结果查询?我可以学习fuzzyQuery,但不能学习FuzzyLithisFieldQuery。例如,在下面的代码中,我使用了fuzzyQuery:
QueryBuilder allquery = QueryBuilders.fuzzyQuery("name", "fooobar").minSimilarity(0.4f);
SearchRequestBuilder builder = ds.getEl
如果我编写了一个使用Lucene执行搜索的算法,我如何陈述它的计算复杂性?我知道Lucene使用tf*idf评分,但我不知道它是如何实现的。我发现tf*idf具有以下复杂性:
O(|D|+|T|)
其中D是文件集,T是所有术语集
然而,我需要有人谁可以检查这是正确的,并解释我为什么
谢谢Lucene基本上使用了一个带有tf idf方案的向量空间模型(VSM)。因此,在标准设置中,我们有:
每个文档都表示为向量的文档集合
文本查询也表示为向量
我们确定在查询q中向量空间得分最高的集合的K文
我有一个包含类型字段type1、type2、type3等的文档。。我需要按10个不同类型的文件包查询这些文件(如果存在)。你知道怎么做吗
我是Lucene的新手,没有足够的时间浏览整个文档。
我们使用Lucene荧光笔突出显示比赛。据我所知,Lucene本身正在使用JFlex引擎。
当前任务需要引入新的语言支持。。根据要求,像ειναι这样的词应该与είναι匹配,反之亦然。人们在键入消息时通常避免使用重音,因此带重音的单词必须与不带重音的单词匹配。
所以,我的问题是我们是否可以在Lucene或JFlex中指定字符转换规则,比如U+038A->U+03B9??
任何帮助都将不胜感激 不确定角色转换……但您可以做几件事:
应用IS
也许大多数读过这本书的人都对Lucene略知一二,不需要进一步解释。注意:我使用Jython,但我认为大多数Java用户都会理解Java的等价物
这是一件经典的事情:您的搜索字符串中有多个词。。。用Lucene术语来说,它返回一个布尔查询。然后,您可以使用类似于此的代码来突出显示(注意,我是Lucene新手,这都是从网络示例中精心设计的):
yellow\u highlight=SimpleHTMLFormatter(“”,“”)
绿色突出显示=SimpleHTMLFormatter(“”,“”
编辑我的原始问题,以便更好地说明我正在与之斗争的内容。这是我的问题领域。我在一家软件公司的测试部门工作。我们编写groovy脚本来测试软件。软件使用包含键值对的属性文件记录警告和错误消息
我想做的是为我的所有groovy脚本(300多个)编制索引,然后遍历我的属性文件,检查我的哪些脚本正在检查特定的错误消息
属性文件的示例:
B_C_Patched=Patched
这只是一对字符串,有3000多对
下面是我为之编写的索引器类:
import org.apache.lucene.analysis
我想标记html而不是解析!和javascript,以便我可以搜索我们生成的源代码
例如,查询:
field:"jquery.1.11.min.js"
将返回包含该信息的文件
有人有关于代码标记器的信息吗?我不知道有任何代码分析器。通常,如果您想索引web内容,您需要使用其他库对其进行解析和提取内容,然后对提取的内容进行分析和索引
但是,寻找散弹枪方法,只是将一堆原始代码直接放入索引中。不管你怎么做,分析都不是完美的,但不管怎样,它只是一种近似的努力。我可能会第一次和你一起去。我甚至不会改变默
我是lucene搜索的初学者。如果我收集了以下资源:
id、名称、{产品列表}、{关键字列表}。如果我想根据名称、产品或关键字进行搜索,我对lucene及其用法有一些疑问:
1) 对于文档创建,我创建了一个具有id、名称、产品(多个值)、关键字(多个值)结构的文档。如果我有1000个唯一的资源,它会创建1000个唯一的文档吗?
2) 此外,如果我将名称和产品字段设置为可搜索字段(作为StringField),那么搜索后,结果是否也会包含(ScoreDocs包含)与我搜索的文本完全相同的文档集?Q
我正在使用Lucene.NET3.0.3。我正试图按产品价格和库存对结果进行排序。但排序似乎没有起到任何作用。我尝试在Visual Studio中调试lucene searcher.Search(),但最终会引发调试异常:
我的代码如下所示:
将字段添加到文档中:
doc.Add(新的数值字段(“Price”,Field.Store.YES,true)).SetFloatValue(productLucene.Price));
doc.Add(newnumericfield(“Stock”,Fi
首先感谢大家的回答。这是我的问题:
考虑两个互相发短信的用户:
第一:Thr没有问题
第二:是的!!我知道没有问题。(问题的问题)
两个用户都不同,一个使用thr表示There,另一个使用der。许多其他用户也可能使用其他东西。我一直在搜索和浏览:
1) 阿帕奇·卢森
2) 爵士乐的
3) 隐马尔可夫模型
4) N克等
5) 语音学
6) Python ntlk
还有一个问题:
这些句子可能不是正确的句子。考虑这些:
1) 给我嗨5!!!给我击掌
2) 苏斯利?对于严重吗?
3) 你在干什么?今
我希望开发一个包含以下字段的简单搜索
头衔
总结
人气
如果有人通过说“ga”来搜索,我会搜索部分匹配的标题(例如“游戏”),并根据受欢迎程度对结果进行排序
如果有
我有一个连接到多个索引的索引
在我运行一个查询并获得结果之后,有没有办法知道结果来自哪个索引
我知道这并不完全是MultiReader的用途。我仍然需要这个。如果您是创建多阅读器实例的人,您可以
您可以扩展该类并实现所需的功能BaseCompositeReader(超级类型的MultiReader)具有readerIndex()和getSequentialSubReaders()方法。因此,以下代码应该可以工作:
public static class MyMultiReader extends
我使用explain在Elasticsearch中运行了一个查询。解释的最终分数为7.0064363,但查询的实际分数仅为0.6251602
Elasticsearch在解释和实际分数之间做了什么导致分数如此不同?任何帮助都将不胜感激
以下是搜索结果的一个片段:
{
"_shard": 4,
"_node": "KjOdjnQqQ-yQ3a0hvhlTcA",
"_index": "index",
"_type": "type",
"_id": "id",
我试图测试同义词图,但并没有像我预期的那样工作,也没有返回正确的答案
这是自定义分析器中的createComponents自定义方法
public SuggestAnalizer(SynonymMap synonymMap) {
this.synonymMap = synonymMap;
this.stopList = Collections.emptyList();
}
@Override
protected TokenStrea
我正在使用“search()”准备lucene搜索条件。我正在使用contains,如下所示:
Search searchCondition = search().filter(match("customer_id", customerId))
.filter(range("some_timestamp").lower(minTimestamp.toString()).upper(maxTimestamp.toString()))
.filter(contains("types"
最近,我们将Elasticsearch的版本从2.4更改为5.4
我们在5.x版的类似查询中发现了一个问题
下面的查询用于按文本查找类似的文档
输入查询
Elasticsearch 2.4的输出
Elasticsearch 5.4的输出
{
两个版本的输出都相同,除了文档的分数。
5.4版的评分高于2.4版。
我们的工作依赖于分数,因此如果分数发生变化,这对我们来说是个问题。请提供解决方案?我得到了解决方案,在5.0版中,他们将默认相似性算法从经典更改为BM25,这就是原因。
创建索引时,只需将
我正在创建一个索引,其中文档只是一个术语。
我正在为域名编制索引,因此“域”字段如下所示:
example.com
thisiscool.com
justtesting.org
cnn.com
我正在以编程方式创建搜索词等,因为我的所有文档字段都只是一个词,所以我的搜索似乎无法正常工作,因为只有一个词,如果我在布尔查询中添加多个词,它将永远找不到任何内容
如果我只有一个术语,我应该如何搜索?我希望尽可能提高效率。
Query term = new TermQuery("domain", "th
标签: Lucene
querydslhibernate-search
当我搜索“cars blue”时,我会得到与“cars”或“blue”匹配的所有结果,但我需要同时匹配它们。我已经读过关于将一些defaultOperator设置为和的内容,但我找不到在哪里执行该操作,
此外,我不能使用短语查询,因为搜索查询中术语的顺序是不相关的,
这是我到目前为止的代码,谢谢
// create the query using Hibernate Search query DSL
QueryBuilder queryBuilder = fullTextEntityManage
我有以下疑问:
GET _search
{
"query": {
"bool" : {
"must" : {
"match" : { "log": "a perfect phrase" }
},
"filter":
{
"range": {
"time": {
"gte": "now-10m",
"lte": "
标签: Lucene
wildflyhibernate-searchinfinispan
尝试使用现有的工作hibernate搜索实现(由in-Wildfly infinispan支持)从10升级到17,每当第二个节点尝试加入集群时(如果启动没有完全超时),我会得到如下堆栈:
org.infinispan.commons.marshall.NotSerializableException: org.infinispan.lucene.FileCacheKey
Suppressed: org.infinispan.util.logging.TraceException
我需要编写一个弹性范围查询,该查询使用以下索引格式
...
"facetProperties": {
"fid641616": [
31.75,
44.45
]
}
...
以下查询仅在lt或gt匹配最大范围的下限或上限时有效。只要我试图缩小两端,就没有结果
{
"query": {
"bool": {
"should": [{
我有一个案例,我想使用elasticsearch作为文本搜索引擎,搜索非常长的HTML阿拉伯语文本
除了带有变音符号的单词外,搜索效果相当不错,它似乎无法识别它们
例如:
这句话:“وَهكَذافُلّكٍْ”(这是存储在数据库中的一句)
与此完全相同:这是用户输入的搜索内容)
除了添加的变音符号,它们在计算机中作为单独的字符处理(但只是在其他字符之上呈现),情况完全相同
我想知道是否有办法让搜索忽略所有的发音符号
我考虑的第一种方法是,是否有一种方法可以告诉elasticsearch在索引时
假设我每天在同一时间更新索引一次。在两次更新之间的时间内(大约21小时),docId会保持不变吗?正如@andrewjames提到的,docId只有在发生合并时才会改变。docsId基本上是文档在特定段中的数组索引位置
这样做的副作用还在于,如果您有多个段,那么可能会将给定的docId分配给多个文档,一个在一个段中,一个在另一个段中,等等。如果这是一个问题,您可以在构建索引后进行强制合并,以便只有一个段。那么,此时没有两个文档具有相同的docId
如果不进行合并,则给定文档的docId不会更改。
我想在Lucene的相似性方程中插入另一个分数因子。问题是,我不能只覆盖相似度类,因为它不知道计算分数的文档和术语
例如,在包含以下文本的文档中:
The cat is in the top of the tree, and he is going to stay there.
我有一个自己的算法,它为本文档中的每一个术语分配一个分数,说明每一个术语对整个文档的重要性。每个单词的可能分数为:
cat: 0.789212
tree: 0.633423
top: 0.412315
stay: 0.
我需要在Lucene索引中查找具有两个基本标准的项:
1.匹配名为“关系”的特定字符串
2.属于权利“补助团体”列表
授权组定义了该组成员可访问的项目子集,非常类似于授权角色
Lucene索引中的所有文档都有“关系”字段,为了简单起见,还有一个或多个“授权组”字段
因此,例如,用户可能搜索“foobar”,并且该用户可能是组a、b、c的成员。比如说,foobar有格兰特组a、p、q、s
查询基本上是“匹配‘foobar’和(a、b或c)
根据Lucene文档,这应该是可行的
我的问题是:布尔查询
在我的项目中,我们使用solr索引许多不同类型的文档,通过示例书籍和人员,使用一些公共字段(如名称)和一些特定类型的字段(如类别或人员所属的组)
我们想做的查询,可以找到书和人,与每个文件类型应用一些过滤器。比如:
查找名称和/或内容中带有“Jean”的所有书籍和人员
但只有“小说”和“幻想”类的书
只有“穿山甲”组的人
一切都按分数排序
一个非常简单的方法是:
q = name:jean content:jean
&
fq=
(type:book AND category
标签: Lucene
text-miningsentiment-analysis
我正在为聊天应用程序构建一个情感识别系统。因为核心部分是在用户输入的文本中查找动词,这可以通过词性标记来完成。
可以用Lucene制作一个词性标记器吗?如果没有,我可以使用什么样的开源/libre软件包或系统?来自Lucene,您可能想使用Mahout。我使用了Lucene的Mahout的Bayes分类器进行情绪分析,它工作得相当好,并且相对容易设置。我认为Mahout+Lucene与其他任何东西相比的主要好处是它的扩展性更好
如果你不喜欢Mahout,有很多开源框架可以做这件事。例如,我发现N
我正试图找到一个关于索引查询以下模型的解决方案:
学生有很多课,每节课有一个年级。然而,课程等级是一个键值对
我的第一个问题是:
我应该如何在lucene中索引键值数据?(它就像一个
坐标可能是空间的?)
第二个是
假设我在lucene中有一个索引数据。我如何查询学生
课程名称,但按年级排序
我可以创建一个类似的查询吗?“从学生那里选择课程=按年级的数学顺序”sql短语在Lucene中,你在索引中索引文档,文档有字段
在您的情况下,您将有一个包含3个字段的文档:学生、课程和年级。然后用这些文档填
我曾与Lucene合作编制文档索引并提供其中的搜索,然而,我的工作是用英语,但现在,我有一个项目是库尔德语,库尔德语使用一些阿拉伯文unicode字符和其他几个字符,下面是
我的问题是如何为这种语言创建Analyzer,或者我可以为此使用阿拉伯语Analyzer吗?Lucene有一个分析器,包括阿拉伯语。恐怕没有人专门针对库尔德人,但也许您可以扩展阿拉伯语分析器以满足您的需要
请记住,所有这些分析器都来自主要的Lucene发行版。要回答您关于如何为新语言创建自定义分析器的问题,“《Lucene
我希望能够执行以下类型的查询:
要索引的数据包括(比方说)音乐视频,其中只有标题是有趣的。
我只是想对这些词建立索引,然后为它们创建查询,这样,无论用户在查询中使用了什么词,包含这些词的文档都将首先返回,然后返回(没有特定的顺序)在标题的任何位置包含至少一个搜索词的文档。所有这些都应该不区分大小写
例如:
文件:
大海是蓝色的
Video2Title=野生海洋
Video3Title=野生海洋
Video4Title=海边的一切
如果我搜索“海”,我想得到
“Video1Title=大海是
有没有办法提高prefixfield比赛的分数,而不是以后在field中进行的学期比赛的分数?大多数Elasticsearch/Lucene文档似乎关注术语而不是字段
例如,在搜索femal*时,我希望femal的等级高于对女性标本的显微镜检查。在查询端有什么方法可以做到这一点,或者我需要创建一个由第一个单词组成的单独字段吗?要做到这一点,您可以使用-query和should在-query中进行称重,而-query又有一个
下面是一个可以运行的示例:
非常感谢完整的示例!我没有首先发现你。结果现
标签: Lucene
elasticsearchsimilaritytf-idf
我正在使用ElasticSearch开发一项服务,将上传的文件或网页存储为附件(文件是文档中的一个字段)。这部分很好,因为我可以使用like_文本作为输入来搜索这些文件。但是,该服务的第二部分应该将刚刚上载的文件与现有文件进行比较,以便找到重复的或非常相似的文件,因此不建议用户使用相同的文件或相同的网页。问题是,对于相同的文档,我无法获得预期的结果。同一文件之间的相似性各不相同,但永远不会超过0.4。更糟糕的是,有时我对不相同的文件比两个完全相同的文件得到更好的分数。java代码give bel
基本上我是C#开发者,但在我的一个项目中,我需要实现Lucene搜索
简而言之,这是一个聊天应用程序,我需要找到任何用户使用的特定单词
现在我能够成功地将Lucene.Net集成到我的项目中。现在我的问题是存储文本或创建索引的最佳方法是什么
有更好的选择吗
一个5000字的文本字段(lucene索引)
500个字段(lucene索引),每个字段中有10个单词
抱歉,如果这是一个错误的术语,但我真的不知道如何用合适的Lucene术语来描述它
感谢您的时间和反馈。非常感谢我将添加包含以下字段的“文档
有没有办法读取文档的术语向量以及每个术语的位置
在创建索引期间,我正在启用位置、频率等
FieldType fieldType = new FieldType();
fieldType.setStoreTermVectors(true);
fieldType.setStoreTermVectorPositions(true);
fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS
我在elasticsearch中有一个带有“title”字段(分析字符串字段)的索引。如果我为以下文档编制了索引:
{title: "Joe Dirt"}
{title: "Meet Joe Black"}
{title: "Tomorrow Never Dies"}
搜索结果是“我想明天看电影Joe Dirt”
我想查找完整标题作为搜索查询子字符串匹配的结果。如果使用直接匹配查询,所有这些文档都将返回,因为它们都匹配其中一个单词。我真的只想返回“Joe Dirt”,因为标题是搜索查询的精确匹
我正在使用lucene 6.4.0。当我将dns映射到域名系统时,我可以得到正确的查询。
但是当我尝试将域名系统映射到dns时,我无法获得正确的查询。我设置了解析器。设置plitonwhitespace(false)
public class SynonymAnalyzer extends Analyzer {
@Override
protected TokenStreamComponents createComponents(String s, Reader reader) {
我知道这里提到的弹性搜索和Lucene之间的区别
除了可伸缩性、容错性和弹性搜索的分布式特性之外,两者之间的核心区别是什么
弹性搜索是否提供了比lucene更好的搜索功能
Elasticsearch是Lucene++。ES利用了Lucene+的所有搜索、索引和分析功能,并添加了许多其他功能,其中一些功能是不同Lucene功能的组合,一些功能是Lucene完全不知道的,仅在ES级别可用
除此之外,ES还添加了大量功能,使Lucene真正具有分布式、可管理性和安全性等特点。您能否提及一些功能,这
我正在处理grafana仪表板,我使用模板变量将开始时间和结束时间从一个仪表板传递到另一个仪表板。这就是我传递值的方式
var-startTime=2020-07-23T05:07:04Z&var-endTime=2020-07-23T05:11:31Z
在另一个仪表板中,我获取变量值并传递给Lucene查询,如
@timestamp:[$startTime TO $endTime]
很好用。但在这里,我想在开始时间15分钟之前和结束时间15分钟之后获取数据。这段时间我怎么能加减15
我使用德语,并遵循文档中提到的示例。到现在为止,一直都还不错。它起作用了!。文本kaffeetasse被标记为kaffee和tasse
当我使用对kaffeetasse的多匹配查询来查找kaffee和tasse都匹配的文档时,出现了问题。在多匹配查询中,似乎多匹配使用或作为连字号分解器过滤器生成的标记,而不是给定的运算符(“AND”)。这是我的测试用例
映射
curl -XPUT "http://localhost:9200/testidx" -H 'Content-Type
上一页 1 2 ...
24 25 26 27 28 29 30 ...
下一页 最后一页 共 78 页