我正在Jetty上运行一个Solr实例,当我使用Solr管理面板进行搜索时,它会返回整个文档。如何从搜索返回的每个Solr文档中仅获取指定字段?从Solr管理员主页,单击“完整界面”。在该页面上有一个名为“要返回的字段”的框。您可以在此处列出所需的列表(逗号分隔)。“*”表示所有字段。最好的方法是从Admin concole运行查询。当我们运行它时,它还提供实际执行的SQL查询。只需复制查询并使用它
/?q=query&fl=field1,field2,field3
关于问题:从表中选
我正在我的java web项目IndexReader中将lucene 2.4.1升级到3.0.2
Lucene 2.4.1具有方法setterminfosindexdivisior,但
在Lucene 3.0.2中,我们必须将其设置为打开IndexReader
我的问题是,如果我没有IndexDeletePolicy,我们如何设置TermInfosIndexDivisor??
因为在打开索引读取器时,如果要设置TermInfosIndexDivisor
然后还必须在Lucene 3.0.2中传递
标签: Lucene
information-retrieval
对于一个玩具项目,我想用Lucene实现一个自动问答系统,我正试图找出一个合理的方法来实现它。基本操作如下:
1) 用户将输入一个问题
2) 系统将识别问题中的关键字
3) 关键词将在大型知识库中搜索,匹配的句子将显示为答案
我的知识库(即语料库)没有结构化。它只是一个大的、连续的文本(比如说,没有任何章节的用户手册)。我的意思是,唯一的结构是句子和段落被识别
我计划将每一句话或每一段作为单独的文件处理。为了在上下文中给出答案,我可以考虑将一个句子/段落保持在索引之前/之后作为有效载荷。我想知道
我试图使用Play框架中提供的搜索模块,但遇到了限制
基于引用的“不能将*或?符号用作搜索的第一个字符”
在诸如“nice,rice,…”等字符串对象中查询子字符串关键字“ice”是否有其他方法
Thx您可以通过设置标志来使用
但您应该了解性能影响。从:
QueryParser by不支持前导通配符(例如*ook)
违约
从Lucene 2.1开始,可以通过调用QueryParser.setAllowReadingWildcard(true)来启用它们。
请注意,这可能是一个代价高昂的操作:它
我一直在使用弹性搜索(由下面的Lucene提供支持),而且它非常棒。无论我朝它扔什么,它都燃烧得很快
我想知道为什么现在很快。我知道它使用的是倒排索引,我也部分了解它是基于我找到的几篇文章和一些好的youtube视频来解释的,但为什么这比Mysql或Mongo中的二叉树要快得多呢?我知道这有点像苹果对桔子的比较,但我还没有找到任何真正好的解释(比如并排)来解释倒排索引和二叉树索引是如何工作的
到目前为止,我收集到的唯一一件事是,基于索引时间,反向索引总是会更快,因为它不必重新平衡树的叶子(分形索
在我的应用程序中,我需要将lucene core jar从2.0升级到3.6,问题在于2.0 RAMDirectory类也用于读取和写入磁盘位置上的文件。但在3.6版本中,RAMDirectory类初始化方法签名被更改为不带参数。
要从磁盘上的std位置读取输入文件,我传递了FSDirectory.open(File)参数,但输出索引文件没有写入到我提供的位置
知道在将jar从2.0升级到更高版本时需要考虑什么吗
任何参考或经验都会非常有用
谢谢,
Ashish这是RAMDirectory的预期
标签: Lucene
information-retrieval
我正试图通过Lucene实现显式语义分析(ESA)
匹配文档时,如何在查询中考虑术语TFIDF
例如:
查询:“a b c a d a”
文件1:“a b a”
文件2:“a b c”
查询应该比Doc1更匹配Doc1
我希望这样做不会影响性能
我通过查询提升来实现这一点。通过增加相对于TFIDF的术语
有更好的方法吗?Lucene已经默认支持TF/IDF评分,所以我不太清楚您在寻找什么
实际上,这听起来有点像您希望根据查询本身中的TF/IDF来衡量查询词。所以让我们考虑这两个因素:
TF
我最近将Hibernate搜索更新为5.0.0.Alpha4,它使用Lucene 4.8.1
我仍然像以前一样使用相同的代码来创建搜索查询(更新之前我使用了Lucene 3.3,它是一个非常旧的版本:))。但我注意到一个问题,新版本只是忽略了我的运算符,一直使用默认运算符,但旧版本的代码运行良好:
例如:现在我将“AND”设置为默认运算符。我只是在搜索字段中键入了“java或php”。我在queryParser.parse(searchString)的行中做了一个断点。它告诉我,我的搜索字符串现
假设我有一个类似于上面所示的模式。用户要求应用程序显示一些“无用”的内容
如何编写一个查询,通过标题、摘要和标签查找“无用”一词作为模糊搜索?来自文档
此查询之所以有效,是因为它使用的是多匹配查询
模糊性仅适用于基本的匹配和多匹配查询。信息技术
不适用于短语匹配、常用术语或交叉字段
火柴
否则,您必须在一个boolQuery中执行几个fuzzy查询,好的,让它工作起来。当我尝试“使用”而不是“无用”时,我没有得到任何结果。为什么?有没有办法也允许这样做?部分字符串?这取决于分析器、标记过滤器等,
我有3个字段文本值索引的文档:
文件1文本值为美元
文件2文本值为$$usd
文件3文本值为35美元
当我搜索usd(TEXT\u VALUE:usd)时,我只得到文档1和文档2
为什么我得不到3号文件?我能做些什么来得到它
如何在搜索词之前获得前缀编号的结果
(我使用英语SnowballaAnalyzer进行索引和搜索)
(我使用Lucene.NET2.9)
标签:elasticsearch Lucene
search-suggestion
我正在我的环境中使用elastic 5.1.1。我在一个字段名post_hashtags上选择了completion suggester,它包含一个字符串数组,可以对其进行建议。我得到的回应如下前缀“inv”
请求:
答复:
{
"suggest": {
"hash-suggest": [
{
"options": [
{
"text": "invalid",
"_source": {
我在RavenDB中使用Lucene的MoreLikeThis函数,非常符合文档:
MyDocument[] docs = session
.Advanced
.MoreLikeThis<MyDocument>(
"Documents/MoreLikeThis",
null,
new MoreLikeThisQuery
{
IndexName = "Documents/MoreLikeThis",
DocumentId
标签: Lucene
auth0auth0-delegated-admin
我正在我的中使用此过滤器挂钩
function(ctx, callback) {
// Get the company from the current user's metadata.
var company = ctx.request.user.app_metadata && ctx.request.user.app_metadata.company;
if (!company || !company.length) {
return callback(n
我正在尝试使用lucene语法为Elasticsearch创建一个搜索查询,其中包含分组和邻近性(如果可能的话,还包括通配符)
目标是在距离“c”一定距离内找到“a”或“b”
所以我尝试了类似于“('a'或'b')c”~2的方法,但似乎对我不起作用
有办法吗?有没有可能在短语中为特定的单词添加通配符?类似于“('a*'或'b*')c”~5
我知道Elasticsearch会为每个索引创建大量的N,每个碎片都是它自己的Lucene索引。但是有多少Lucene的真实实例是由Elasticsearch启动和维护的
每个节点是否有一个Lucene实例,这意味着该实例处理每个节点的Lucene索引数。每个打开的碎片都是一个Lucene实例。所有主碎片和副本碎片都是由elaticsearch管理的单个Lucene实例。集群中Lucene实例的数量是所有成员节点持有的开放索引的主碎片和副本碎片的总数
冻结索引正在被延迟加载,因此Lucene实例
标签: Lucene
lucene.netsynonymlemmatization
我知道dbsight允许同义词和停止词进行搜索,但这是否也考虑了动词的屈折形式,例如,“swim”应该找到swim、swime、swim、swam和swum
DBSight Wiki上的链接:您要查找的行为可以使用来实现。我不知道现有的Lucene分析器会这样做。进行柠檬化,但不是免费的,我不知道它是否可以与dbsight一起使用。您正在寻找的行为可以使用来实现。我不知道现有的Lucene分析器会这样做。做柠檬化,但不是免费的,我不知道它是否能与dbsight一起工作。Lucene附带了一个名为
标签: Lucene
information-retrievalscoring
我对Lucene的评分函数有个问题,我想不出来。到目前为止,我已经能够编写此代码来复制它
package lucenebug;
import java.util.Arrays;
import java.util.List;
import org.apache.lucene.analysis.SimpleAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
i
如果我有一个文本的多值字段类型,我在其中输入值[cat,dog,green,blue]。当我为dog对该字段执行查询时,有没有办法告诉我它位于该多值字段的第一个元素位置
假设:客户事先不知道所查询字段的字段类型。(也就是说,Solr必须提供答案,客户无法对退货单进行后期处理,因为它不知道Solr如何将查询与结果进行匹配)
披露:我发布到solr用户列表中,没有得到任何关注,所以我现在发布到这里。目前,solr中没有现成的功能,可以告诉您一个值在多值字段中的位置。目前,Solr中没有现成的功能,可
假设我有字段,包括卷号和离开日期
从日期离开的某些表格中选择螺柱滚柱编号、计数(*)>按螺柱滚柱编号的某些日期组
如何使用Lucene编写相同的查询…我在查询日期\u leave>some\u date之后尝试了
对于(ScoreDoc ScoreDoc:topDocs.scoreDocs){
}
但是,我有巨大的数据集,计算这个需要很多时间。有没有别的办法找到它????提前感谢…您的性能瓶颈几乎肯定是执行文档和字段值查找所需的I/O。在这种情况下,您需要对要分组的字段使用FieldCache。
我可以很容易地对直接来自couchdb的结果进行分页(使用startkey和limit),但couchdb lucene似乎不处理请求中传递的“startkey”参数。我仍然可以使用“skip”,但据我记忆所及,这是一种不推荐的使用coach分页的方式
那么,有没有其他有效的couchdb-lucene分页方法呢?我想您正在寻找couchdb-lucene的skip和limit查询参数
引用
skip:要跳过的结果数
限制:要返回的最大结果数
我知道您试图避免处理所有跳过的文档,但core Lu
可以创建一个查询,该查询将搜索具有给定前缀名称的所有字段
我需要它,因为我需要索引我正在索引的对象附带的一些信息,例如类别。类别可以有不同的级别。我想给不同的类别级别以不同的提升
我注意到我可以在索引时多次添加字段。
我是否可以多次添加此catName字段,使用不同的增强,然后搜索它,因为它是一个字段
int level = 1;
for (Category cat : sortedCategories) {
float boost = CATEGORY_BOOST / level;
我试图理解fieldNorm是如何计算(在索引时)并在查询时使用(显然是重新计算)的
在所有的例子中,我都在使用StandardAnalyzer,没有停止词
在索引内容时使用DefaultSimilarity的computeNorm方法,我注意到它会返回两个特定文档:
文档A为0.5(其字段中有4个标记)
文档B的0.70710677(其字段中有2个令牌)
它通过使用以下公式来实现:
state.getBoost() * ((float) (1.0 / Math.sqrt(numTerms)
我有一个包含许多文档的elasticsearch索引。这些文档的每一组都包含相似的内容,但并不完全相同。什么查询只返回每个相似文档组中的一个文档?在此上下文中,“组”是什么?Solr具有字段折叠/结果分组:。ES计划此功能已有很长时间,但尚未实现:。也就是说,我不确定你说的“分组”是指什么,什么是组?具有公共字段值的文档?
我有一个数据库表,其中包含大约40000条包含代码字段的记录,例如
FLEFSU25B-25M
EMG1090-5S
我需要能够非常快速地选择包含给定子字符串的所有代码。例如,109与EMG1090-5S匹配
我目前的方法是将代码存储在Lucene中,并使用子字符串对Lucene进行过滤,例如109
但是如果我只存储代码,这不是很有效,因为than Lucene必须搜索所有令牌
为了克服这个问题,我正在考虑创建一个新的分析器,将每个代码拆分为令牌,如下所示:
EMG1090-5S
MG1090-
我正在更新Lucene中的文档,但是当我在其中一个字段中搜索完整值时,没有返回结果。如果我只搜索一个单词,那么我会得到一个结果
这个例子来自Lucene in Action第二版的第2章,我正在使用Lucene 3 Java库
这是主要的逻辑
"Document fields show new value when updated, and not old value" in {
getHitCount("city", "Amsterdam") must equal(1)
我有三种食物类型指数“意大利”、“西班牙”、“美国”。
当用户搜索“奶酪”时,来自“意大利语”的文档出现在顶部。如果我更喜欢说“西班牙语”,有可能“提高”结果吗?(我仍然应该得到意大利语的结果,但基于索引类型“西班牙语”的一些数字提升值,结果中返回的文档的顺序优先于“西班牙语”索引。这在用户输入lucene和/或ES查询中是可能的吗?如果是,如何?为字段或(或两者)添加具有提升的术语查询).对于查询时间提升,查询(例如)通常有一个可以设置的boost属性。或者,您可以将查询包装为。通常,我可能更
我们在Lucene 4.0.0中遇到了与时间范围搜索/筛选相关的问题。我们已经为一些tweet建立了索引,现在我们想收集特定用户在特定时间范围内发送的tweet。当我们使用创建的过滤器运行相关查询时,我们会获得超出指定时间范围的tweet。例如,在下面的示例中,我们不希望出现“exp tweet”,因为它的时间戳小于lowerBound
关于如何执行这项任务,或者代码中存在哪些问题,您能给我们一些建议吗
问候
相关代码
你只想得到tweets的时间戳在upperBoundStr和lowerBou
我在此粘贴以下代码
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
我正在从一个2.37GB的RDF数据集进行查询,其中包含大约1700万个三元组,数据集的lucence索引也得到了维护。我尝试了jena文本模块的文本查询,该模块基于存储的lucene索引进行搜索。但是它的性能非常慢,搜索查询需要4秒或更长的时间,这非常慢
但是,当我使用luncene索引查看器“luke”时。索引似乎没有问题,当我从索引中搜索某个特定术语时,搜索它需要几毫秒的时间
所以问题是,我无法认识到,为什么在谈到“jena texr”时要花这么多时间
以下是sparql查询:
SELEC
我正在将日志推送到elasticsearch,它将典型的文档存储为-
{
"_index": "logstash-2014.08.11",
"_type": "machine",
"_id": "2tSlN1P1QQuHUkmoJfkmnQ",
"_score": null,
"_source": {
"category": "critical log with list",
"app_name": "attachment",
"stacktrace_
我正在写一个AlfrescoWebScript来按日期搜索内容,但没有任何运气
我的查询如下所示:
PATH:\"/app:company_home/st:sites/cm:mysite/cm:documentLibrary/cm:News/*\"
AND @cm\\:created:[2013-09-25T00:00:00.000Z TO NOW]
我的新闻文件夹中有三个文件夹:
文件夹1,创建于2013-09-24
文件夹2,创建于2013-09-24
文件夹3,创建于2013-09-
我不熟悉Luncene查询语法。我使用elasticsearch/logstash和kibana来存储日志文件。但我想按日期和时间过滤
这很有效
@时间戳:[2014-10-01至2014-10-01]
但是如果我加上时间戳
@时间戳:[2014-10-01 16:34:09至2014-10-01 16:34:10]
这行不通
欢迎任何帮助
谢谢我对我的kibana/elasticsearch进行了测试,这个语法对我很有用
@timestamp:[ 2014-10-02T08:00:00 TO
我是sitecore中lucene搜索的新手。我在这方面面临一些问题
Sitecore 7.2是否支持高级DatabaseCrawler?我已从Nuget下载DLL并添加了配置文件。当我尝试重建索引时,我遇到以下问题
无法加载文件或程序集'Lucene.Net,版本=2.3.1.3,
区域性=中性,PublicKeyToken=null'或其依赖项之一。这个
定位程序集的清单定义与程序集不匹配
参考资料。(来自HRESULT的异常:0x8013100)
出现此问题的原因是什么?市场声明不支持Si
我需要一个字段中一个文档的sumttf。然而,我只能得到所有文件的摘要。。。
我需要能够访问脚本中的变量,比如特定文档的_index['field'].sumttf。这就是我到目前为止得到的
映射:
{"document2" : {
"mappings" : {
"document2" : {
"_all" : {
"enabled" : false
},
"properties" : {
"content" : {
是否有一种方法可以从查询实例中获取文档所需的所有有效术语?QueryParser用于创建查询实例,因此查询的内容由用户驱动
例如,用户可以将其作为查询字符串给出
+A+B
然后我想得到[A,B],例如作为字符串数组
或
A
那么我需要的结果就是[A]。这样的东西可能在未经测试的情况下工作:
Query q = ...;
Set<Term> terms = new HashSet<>();
q.extractTerms(terms);
for (Term term : te
我一直期待elasticsearch 1.5中引入的内置点击功能,所以今天决定试一试。但是,在尝试使用ArrayIndexOutOfBounds时,我一直会遇到一个ArrayIndexOutOfBounds错误。我可以通过以下示例重现我的问题:
我的映射:
curl -XPOST 'http://localhost:9200/_template/test' -d '
{
"template": "testindex",
"mappings": {
"testty
Elasticsearch节点/整个集群应具有的最小可用存储空间是多少,以确保分段的平滑合并,从而实现索引优化调用。Lucene建议索引大小为3倍的空间[1],尤其是在强制合并期间。我们的用例没有内存限制。这是否意味着我应该仅基于总磁盘空间的1/3来规划容量
[1] -
PS:默认情况下没有打开基于磁盘的断路器,当没有可用磁盘空间时,索引显示为红色。所以我想在我这边设置安全措施来避免这个问题。与磁盘大小有关的硬件配置的Elasticsearch文档非常稀少,因此这篇文章
我的用例是搜索英国地址,那里有一个定义良好的邮政编码系统,但是我的用户仍然可能会在邮政编码上出错。我想使用一个过滤器,因为在大多数情况下,用户将获得正确的邮政编码,我不想让Elasticsearch比它需要的更难,但我想避免从我的应用程序到ES的往返
我正在使用文档中描述的edge n-gram分析器,因此,以邮政编码ME4 4NR为例,我对ME4 4NR,ME4 4N,ME4和ME4进行了索引。我想先按ME4 4NR进行过滤,如果没有匹配项,则只扩大到ME4 4N
我可以在ES查询中实现这一点
我将在前言中声明我是elasticsearch的新手,因此这可能有一个简单的答案。到目前为止,我读到的任何东西都不能让我实现以下目标
一个非常简化的场景。我有一系列用户活动,如下所示:
timestamp: t0, user: mike, result: failed
timestamp: t1, user: anne, result: failed
timestamp: t2, user: bob, result: success
timestamp: t3, user: tom, res
我将OrientDB 2.0.9与Java应用程序一起使用。我正在使用GraphJavaAPI创建graph实例。我面临着Lucene索引搜索的问题
我在一个顶点中输入了一些数据,然后如果我进行Lucene搜索,就会得到结果。然后我重新启动orientdb服务器,然后相同的Lucene搜索不会返回上次服务器运行时插入的任何数据。然而,如果我在没有Lucene索引的情况下进行常规字段搜索,我可以看到所有结果
最终OrientGraphFactory GFFactory=新OrientGraphFa
我将Lucene配置为按列test中的值搜索我的Hibernate模型:
@Entity
@Table(name = "TEST")
@Audited
@Indexed
public class Test {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@Column(name = "TEST")
@Field
我正在使用lucene 4.10.4
谁能解释一下模糊搜索是如何工作的?与正常搜索相比,搜索时间增加了多少 从Lucene 4开始,通过使用
长话短说,本文展示了如何识别
索引中所有单词的集合,其中Levenshtein距离
V,并且查询不超过距离d,这正是
人们需要模糊搜索
当然,对于一个具体的术语,它仍然比直接查找要慢,但是它不再是性能杀手
如果查询字符串包含保留字,如和或或,如何转义这些保留字
示例1:Brooklyn和Bailey
如果我查询数据库,它将搜索包含Brooklyn和Bailey的文档,而不是字符串Brooklyn和Bailey
例2:Brooklyn或Bailey
如果我查询数据库,它将搜索具有Brooklyn或Bailey而不是字符串Brooklyn或Bailey的文档
这是我的密码
esclient.search({
from: 0,
size: 5,
body: {
'query': {
标签: Lucene
full-text-searchlucene.net
我有以下Lucene.Net搜索代码:
如果我使用如下查询:
AccountId:1 AND CompanyId:1 AND CreatedOn:[636288660000000000 TO 636315443990000000] AND AuditProperties.FriendlyName.NewValue:CustomerId|235
它与CustomerId=235完全匹配,工作正常
但是,如果我尝试搜索通配符匹配,例如:
AccountId:1 AND CompanyId:1 A
我正在尝试向索引中添加字符串长度字段。理想情况下,我希望使用kibana脚本功能,因为我可以稍后“添加”此字段,但我会不断得到一个null\u指针\u异常,使用以下代码。。。我正在尝试根据字段长度进行可视化排序
doc['field'].value ? doc['field'].length() : 0
这是正确的吗
我认为这是因为我的字段并不总是设置好(稀疏数据),但我添加了?:0来解决这个问题(这不起作用)
有什么想法吗?您可以在Kibana中定义一个脚本字段,类型为int,语言轻松,然后
标签: Lucene
lexical-analysisluke
我正在使用Lucene 8.3,遇到了StandardAnalyzer的意外行为。为了隔离问题,我设法与卢克产生了同样的行为。以下是对卢克的描述:
我正在使用StandardAnalyzer创建一个新文档。一个字段:name=myField;类型=字符串字段;选项=存储值;value='Foo'
然后切换到搜索:解析术语“myField:Foo”表明它已转换为小写。这是StandardAnalyzer的预期行为。然而,搜索结果为零。切换到WhitespaceAnalyzer将解析相同的术语保留大
我正在尝试使用预先计算的项权重对文档进行反向索引
文件1:我(0.5)爱(0.4)你(1.2)
文件2:这(0.3)就是(0.1)爱(0.9)
文件3:这(0.1)是(0.1)有趣(0.2)
倒过来的应该是这样的
I->Doc1(0.5)
爱情->Doc1(0.4)--Doc2(0.9)
你->文档1(1.2)
这->Doc1(0.3)--Doc3(0.1)
is->Doc2(0.1)--Doc3(0.1)
搞笑->文档3(0.2)
当被问到“我爱搞笑”
Doc1得分为0.5+0.4=0
我在AWS(7.9版本)上使用ElasticSearch,并试图区分两个字符串
我的主要目标是将搜索结果分为“已找到”和“未找到”
一般的问题是如何搜索“not”关键字
下面是两个示例消息
"CachingServiceOne:Found in cache - Retrieve."
"CachingServiceThree:Not found in cache - Create new."
您可以使用,在“title”字段中搜索“not”
添加包含索
我有一个Lucene搜索在一个现有的Sitecore网站上运行得很好,但是最近我发现元数据标签似乎没有包含在索引中。这不是一个大问题,但我想知道是否有办法告诉Lucene在其索引中包含元描述和关键字内容。作为Sitecore网站,我的索引定义设置在我的web.config文件中。有什么想法吗?Lucene只为数据模板中的字段编制索引。(它不会爬网你的网站)因此,如果你想让Lucene为元关键字和元描述编制索引,那么你需要确保你的数据模板中有这两个字段,然后你必须在web.config中设置索引以
在OrientDB内部使用LUCENE似乎工作得很好,但是有很多LUCENE特定的查询参数,通常我会通过Solr直接传递给LUCENE。我需要传递的第一个是结果限制器,比如SELECT*FROM V,其中字段LUCENE Value LIMIT 10
如果我使用一个只返回几行的值,我会得到预期的性能,但是如果它有很多值,我需要限制器来快速返回结果。否则,我会在控制台中收到一条消息,说明查询将返回50000条以上的记录。请考虑使用索引。
如何传递其他LUCENE查询参数?查询解析器存在一个已知问题
上一页 1 2 ...
22 23 24 25 26 27 28 ...
下一页 最后一页 共 78 页