我再次发布这个问题,因为我的问题没有得到回答
我正在使用Lucene开发一个图书搜索api。
用户可以搜索其标题或描述字段包含C.F.a。。。
我正在使用StandardAnalyzer和一系列停止词
我使用MultiFieldQueryParser来解析上面的字符串。但是解析之后,它会删除字符串中的点。我错过了什么
谢谢。(我只熟悉java lucene,但我想在这种情况下这并不重要。)
分析器的目的是去除阻止有效全文搜索的字符和格式。例如,如果您编写的文档只将lucene称为“lucene.
我想使用Lucene为现有数据库中的表编制索引。我一直认为这个过程是这样的:
为表中的每一列创建一个“字段”
存储所有字段
“分析”除主键字段外的所有字段
将表中的每一行存储为Lucene文档。
虽然此表中的大多数列都很小,但有一列很大。此列也是包含将对其执行搜索的大部分数据的列
我知道Lucene提供了一个不存储字段的选项。我在考虑两种解决方案:
不管大小,都要存储字段,如果在搜索中找到了匹配项,则从文档中获取适当的字段
不存储该字段,如果在搜索中找到了命中,则查询数据库以获取相关信息
我意识
我正在使用Demax处理程序对记录执行solr搜索(增加一些字段)
在我的索引中,每个文档以及其他字段都有一个RetailerId
我的查询需要搜索具有此RetailerId以及关键字的文档:
http://localhost:8983/solr/select?qt=dismax&q=RetailerId:(27 OR 92) AND socks
这种查询的语法是什么?
谢谢 不支持布尔运算符。对于您描述的查询,您需要使用标准查询处理程序
更新
我做了几个测试,参数似乎与Demax一起
我使用Katta作为分布式Lucene索引。是否可以使用LUKE作为Katta索引,如果可以,如何使用?提前谢谢…很公平。他们基本上说Katta索引是包含Lucene索引的文件夹。
因此,您需要做的是:
安装Luke
将其指向Katta索引的子文件夹
看看这些索引的结构是什么
可能是Surendhar的复制品,我已经回答了你问的一个非常类似的问题。我相信你不必再问这个问题了。此外,接受有用的答案被认为是一种常见的礼貌。但是,我不知道,“他们提到的只是Lucene索引,而不是Katta索引
我们在AmazonWebServicesEC2实例上运行Solr,该实例具有1TB的EBS卷来存储索引,这样我们就可以轻松地启动具有相同(只读)索引的其他服务器。但是,我们的索引很快就会超过1TB,我并不想处理将多个EBS卷分条以保存索引的问题。此外,重新生成索引的速度非常慢。我想将索引生成(可能还有托管)转移到Hadoop,最好是Amazon的Elastic MapReduce,不过如果需要,我可以设置单独的Hadoop服务器。我们使用RightScale,因此我们可以使用他们的服务器模板库
如果用户在搜索框中输入一个短语(带引号或不带引号),我希望首先显示的结果是文档标题中包含确切短语的文档,以及后面显示的其他文档。这是我尝试过的,但它无法按顺序提供搜索结果:
在索引过程中,我说:
AddStringFieldToDocument(document, "keyWord", this.BuildKeywordsString(), Field.Store.NO, Field.Index.ANALYZED, false);
AddStringFieldToDocument(docume
目前我正在使用PrefixQuery,它工作正常,但它会得到一个记录,就像我的url是
然后它会变得。。。
但它无法获取并希望基于url的任何部分进行搜索我的代码是:-
Term term = new Term("URL", siteUrl.toLowerCase());
Query query1 = new PrefixQuery(term);
booleanQuery.add(query1,BooleanClause.O
使用lucene 3.5.0时,
索引到ram目录后,
有没有一种简单的方法可以知道它使用了多少内存?
大小单位
public final long sizeInBytes()
返回此目录中所有文件的总大小(字节)。当前已量化为RAMOutputStream.BUFFER\u大小
我们最近升级到了HibernateSearch4.1,当我们根据Hibernate对锁所做的更改运行JUnit测试时,出现了错误。当我们使用AbstractTransactionalJUnit4SpringContextTests运行Junit测试时,我们经常会看到每次测试后留下的锁。在review()中,我们尝试了本机锁,但这并没有解决问题
我们使用默认目录提供程序(Filestore)尝试了各种锁定机制(简单、单一和本机),并经常看到如下消息:
build 20-Apr-2012 07:
我正在尝试使用Lucene进行解组或重复数据消除匹配。基本上,我有一个包含记录的文件,我希望根据某些字段(模糊搜索)对这些记录进行分组,并使用匹配键返回结果,该键告诉我该文件中哪些记录彼此匹配
这可能吗?这是可以做到的(如果我理解正确的话)。您可以索引将在一次过程中搜索的术语/记录。在第二步中,您将搜索每个术语并记录结果 在预处理文档时,您可以生成一个散列来聚合这些字段,并将其存储(如NOT_analysis),这样您只需按一个已知大小的字段进行搜索,请查看。这是我通常对文件内容的重复检测所做的
我正在执行搜索,其中我必须获取sitecore/content/data/MyItem中存储的最后一个项目的“ID”(字段)。此文件夹中存储的项目数量为1000多个。我知道Lucene搜索是非常有效的。我执行了Lucene搜索,根据如下值获取项目:
using (IndexSearchContext searchContext = indx.CreateSearchContext())
{
var db = Sitecore.Context
我正在建立一个研究文章索引,每个索引都有诸如标题、作者、摘要文本、出版年份、参考书目中文章的ID等字段。我需要有效地结合一些基于文章之间引用链接的查询
编辑:在一个典型的例子中,我可能在寻找包含以下内容的文章:
+(title:preterm abstract:preterm)
但我想为那些被引用过很多次的文章添砖加瓦。因此,对于每一篇文章A,我都可以通过类似+书目:A这样的查询收集引用文章的所有文章,然后在我添加到A的新引文计数字段中索引此类文章的数量。然后,我可以使用FunctionQue
我需要根据用户喜欢的和阻止的标签过滤LiceneQuery。当一个用户有一些最喜欢的和被阻止的标签时,我已经做到了这一点,但我正在努力解决用户没有最喜欢的或被阻止的标签的情况。我相信我需要使用MatchAllDocsQuery的等价物,但我不知道如何通过RavenDB客户端API实现这一点
当用户有一个或多个收藏夹和一个或多个被阻止的标记时,此功能正常工作:
string favesQuery = String.Join(" OR ", user.FavouriteTags.Select(x =
可以查询neo4j中最新的节点吗?在这种情况下,索引属性“timestamp”以毫秒为单位记录每个节点上的时间
我找到的所有cypher示例都与图形类型查询有关——“从节点n开始并遵循关系。返回按一个字段排序的结果集的一般最佳方法是什么?在像node4j这样的图形数据库中,这甚至是可能的吗?是的,这是可能的,并且有一些不同的方法可以做到这一点
您可以使用时间戳属性和经典索引,并根据该属性对结果集进行排序。或者您可以创建基于时间的图内索引,如Peter博客文章中描述的f.e.:
是的,这是可能的,
它位于2.9.4版的Lucene.Net.Analyzers.dll中。但是我在3.0.3版中找不到这个类。它看起来像是在lucene 3.x中的org.apache.lucene.misc.ChainedFilter中。重新表述,您可以自己构建它,也可以使用Nuget获取二进制文件
ChainedFilter应该在contrib/misc下。Mindas:这是我的注释,因为我无法添加普通注释:如何访问此ChainedFilter类?我已经下载了这个包,但是没有像Lucene.Net.Cont
我正在集群Websphere环境上使用Lucene 4.3.1。双方应共享位于共享NFS卷上的索引
我一直得到以下堆栈跟踪:
Lock obtain timed out: NativeFSLock@/<pathToIndex>/write.lock
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/<pathToIndex>/wri
刚刚将翁布拉科V6.1.1站点升级到V6.1.3。在我的工作站上一切顺利。删除所有文件后,将文件复制到web服务器,并对数据库执行相同操作。设置所有目录权限并运行站点。该网站(即MVC)正在运行,但有两个问题我无法理解,非常感谢您的帮助
一页错误,带有读取超过EOF错误。这是它试图运行的视图。错误以粗体显示在链接上
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = "BasePage.cshtml";
}
我正在使用Sitecore.ContentSearchAPI执行搜索,该搜索工作正常,并返回预期结果
searchResults = context.GetQueryable<SearchItem>()
.Where(i => i.Name.Contains(searchTerm));
searchResults=context.GetQueryable()
其中(i=>i.Name.Contains(searchTerm));
然后,我在/sitecore/sys
是一组被双引号包围的单词,如“hello dolly”。
我希望能够完成这个Lucene模糊查询的CYPHER等价物:
“你好,多莉”~0.1
这将找到我的“hello dolly”节点:
START n=node:node\u auto\u index(“name:\“hello dolly\”~0.1”)返回n
这并不是:
START n=node:node\u auto\u index(“name:\“hella dolly\”~0.1”)返回n
按空格将搜索短语拆分为单个词确实有效:
S
尝试连接到4.7以上的Lucene索引时出错:
处理错误:org.apache.lucene.index.indexformatooneweexception:不支持格式版本(资源:MMapIndexInput(path=“C:\kcp搜索数据\kcp-index\u 2.cfs”)[slice=\u 2\u Lucene41\u 0.doc]:1(需要介于0和0之间)
org.apache.lucene.index.indexformattooneweexception:不支持格式版本(资源:
我对ElasticSearch很陌生。有谁能帮我找到这个问题吗。
我在elasticsearch中有以下记录
Name Work Time Stamp
--------------------------------------------
Steve, eating, 2016-11-12 05:36:40
Steve, sleeping, 2016-11-12 06:14:50
Steve, going, 2016-11-12 07:21:2
我需要一个查询,返回去年的数据,按天分组。到目前为止,我已经编写了一个返回全年数据的查询(我希望它是正确的),但我不知道如何按天对数据进行分组
"query" : {
"range" : {
"timestamp" : {
"gt" : "2017-01-01 00:00:00",
"lt" : "20
标签:elasticsearch Lucene
elasticsearch-6
如果我的查询中有多个match子句,那么如何实现只有在前面的子句没有返回匹配项时才运行第二个(或后续)子句的行为。i、 例如,类似于max\u的内容应该匹配
在我的用例中,我有两个类似的子句
[
{
<Normal Match query>
},
{
<Fuzzy Match query>
}
]
[
{
},
{
}
]
我不想要模糊的结果,除非我在正常匹配查询中没有得到任何结果
Elasticsearch版本-6.3
我对Lucene不太熟悉,所以如果不清楚或者我把术语/命名法弄错了,我向您道歉
因此,我有一个要求,其中包含文本的字段(示例部分:123)应该能够通过以下方式找到:
第123部分
第123部
第123部分
现在我对StandardAnalyzer的理解是,它将“part:123”一词分解为“part”和“123”两个术语
因此,我可以用part:123或part 123搜索,但因为它们是两个不同的术语,“part123”不起作用
在我看来,我还需要让索引器添加另一个术语,将这两个术语组合在一
tl;医生:
使用一组密钥上的精确匹配从Lucene批量获取文档的最佳方法是什么
长版本:
我们有一个Lucene索引保存到磁盘,该索引通过DirectoryReader读取
它包含2000000个具有以下架构的文档:
{“键”:“20个字符串”,“值”:“1-1000个字符串”}
我们现在需要执行一个等价的SELECT document WHERE document.key IN$keyArray——即使用精确匹配返回其关键字与$keyArray相交的文档子集(10000项关键字数组)
有比
我是Lucene的新手,正在使用Lucene开发城市搜索API。
如果用户在旧金山中键入搜索输入,那么它应该只给城市提供精确匹配,而不是SAN若泽/圣地亚哥等。
我应该如何在Lucene中为城市名称编制索引?我需要使用哪个Lucene analyzer和查询类?使用StandardAnalyzer为您的内容编制索引。然后使用搜索。为此,只需使用带有双引号的查询字符串“san francisco”。使用StandardAnalyzer为内容编制索引。然后使用搜索。为此,只需使用带有双引号的查询字符
我在一个基于web的应用程序中使用Lucene,希望对所有传入请求重用同一个Indexsearcher实例
这个逻辑(使用C#)有意义吗?请建议
DateTime lastWriteTime = System.IO.Directory.GetLastWriteTime(myIndexFolderPath);
if (HttpRuntime.Cache["myIndexSearcher"] == null) //Cache is empty
{
searcher = new Index
我需要建立那个矩阵,但我找不到一种方法来计算每个单元的标准化tf idf。
我将执行的标准化是余弦标准化,即每1/sqrt(列中的sumOfSquaredtf-idf)除以tf-idf(使用计算)
有人知道这样做的方法吗?
提前感谢
Antonio中描述了一种不使用Lucene的方法。或者,您可以构建一个Lucene索引,每个字段都有术语向量,迭代术语以获得idf,然后迭代术语的文档以获得tf
经常(每隔几秒钟)更新lucene索引可以吗?更新将同样被添加,更新和搜索将同时进行。我将在回答之前加上“我只使用了Java Lucene”,但这仍然适用:从一般意义上讲,按照您所描述的做当然是好的。您会发现,Lucene在您的目录中创建了许多额外的索引文件,这些文件负责每个添加和更新。这些将被透明地搜索。当然,随着时间的推移,如果附加文件的数量过大,您的搜索性能将下降。这是您需要运行优化的时候,根据索引的大小,优化可以非常快,也可以非常慢
归根结底,很难有人评论你的表现如何,以及你应该多久优化
如何在lucene 3.2中重新打开已关闭的indexWriter
如何证明indexWriter是否已关闭?当我们创建indexWriter实例时,我们应该这样做
IndexWriterConfig iwc = new IndexWriterConfig(analyzer);
iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
如果使用IndexWriterConfig.OpenMode.CREATE_或_APPE
我的服务器断电,lucene索引损坏。我运行了IndexChecker,但失败了:
java -cp /home/dthoai/programs/paesia/checker/lucene-core-3.5.0.jar -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex /mnt/peda/paesia/index -fix
Opening index @ /mnt/peda/paesia/index
ERROR: cou
我正在使用Lucene的eXist实现。是否有一个查询允许我查找文档中所有出现的ab?也就是说,在A的1个单词内出现的所有Bs,但没有包装在它们自己的元素中?此XPath应该起到以下作用:
//span[. = 'A'][following-sibling::node()[1] = ' B']
这并没有使用eXist基于Lucene的全文索引,但是您还没有说明是否已经对span元素应用了索引。如果挑战还有其他方面,请让我知道。这个XPath应该可以做到:
//span[. = 'A'][fol
我正在安卓系统中使用Lucene搜索我的内容。我有两种类型的文档,其中一种有一个trashed字段,它要么是true要么是false。其他类型的文档没有该字段。我想返回所有已垃圾:false,或未包含垃圾字段的文档
我曾尝试将-trashed:true添加到我的查询中,该查询返回所有正确的文档,但它会将搜索的偏移量弄乱,而不是我正在搜索的词
编辑:
我必须将其添加到我执行的每个搜索查询中。我有一个大约20000个文档的索引,我真的不想重建它,因为我让我的用户在我的上一个版本中重建了他们的索引。注
我现在给用户一个选项,在过滤ngram频率的文本时,是否包含停止词。通常情况下,这是按如下方式完成的:
snowballAnalyzer = new SnowballAnalyzer(Version.LUCENE_30, "English", stopWords);
shingleAnalyzer = new ShingleAnalyzerWrapper(snowballAnalyzer, this.getnGramLength());
stopWords设置为包
在同一文档中向字段添加多个值时,我遇到了一些问题。我有一个bug列表,每个bug都有一个id,标题和几个注释,注释名称,注释文本,注释时间。
如何将这些注释信息添加到文档中,如以下代码所示?我以后如何搜索它们?
提前谢谢~
if (Integer.toString(bg.getBugId()) != null) {
bugDocument.add(new Field("bug_id",Integer.toString(bg.getBugId()), TextField.TYPE
我正在使用lucene.net并尝试了以下操作,但无效
NumericField myField = (NumericField)doc.GetFieldable("mynumber")
int val = (int)myField.NumericValue;
关于如何读取/转换为数值字段或任何其他选项的任何想法?数值字段仅在索引期间使用。对于文档检索,假设已存储字段值,则应从索引中检索文本值并将其转换为整数
为新示例修改代码(未编译,但应清晰):
要确保已存储数值字段,请使用NumericF
我正在使用最新发布的Lucene 4,我知道与文档术语向量相关的API已经发生了很大的变化。我已经阅读了迁移文档和相关的各种博客邮件列表帖子,我相信我正确地使用了API。但是,我总是从IndexReader.getTermVector()返回一个空术语引用。以下是我正在做的:
// Indexing, given "bodyString" as a String containing document text
Document doc = new Document();
doc.add(new
我使用以下命令运行lucene查询:
var searchCriteria = searcher.CreateSearchCriteria(BooleanOperation.Or);
var query = searchCriteria.GroupedOr(new string[] { "title", "Name" }, searchTerm).Compile();
如果searchTerm=“供应商服务卡”
生成的查询=(标题:“服务?卡供应商”名称:“服务?卡供应商”)
为什么“For
我在java应用程序中使用ApacheLucene搜索。该查询建立在使用国家代码(通常表示为两个字母的单词,例如印度、美国、英国、英国等)搜索人名(字母表)的基础上
然而,问题出现了,当我尝试使用Alphabet=“Steve”和Country=“IN”的查询条件搜索值时,搜索查询结果没有值,即使记录存在,只有在选择Country(印度)时才有
您希望使用KeywordAnalyzer处理国家代码(不需要标记化或大小写/停止字折叠);对于人名,WhitespaceAnalyzer可能是一个不错的
在RavenDB(build2330)中,我试图按照其中一个索引项的字符串长度对结果进行排序
var result = session.Query<Entity, IndexDefinition>()
.Where(condition)
.OrderBy(x => x.Token.Length);
var result=session.Query()
.何处(条件)
.OrderBy(x=>x.T
我复制了Lucene索引中的行,我不想通过搜索只检索不同的数据
我认为如果没有重复的数据,我就无法构建索引,因为它们不存储在同一个CouchDB表(JSON文档)中。但也许我遗漏了什么,在从index函数返回一个元素之前,可以测试它是否已经被索引
如果没有,是否可以从包含重复数据的索引中仅检索不同的值
关于这一点,MickaëlCouchDB Lucene目前不支持“DISTINCT”或重复数据消除。因此,我想我唯一的选择是实现DISTINCT客户端,希望我拥有的数据比查询的limit参数少
我正试图从couchdb索引文档,但lucene抛出异常,如下所示:
WARN [mobiprofiletest] Exiting after init() raised exception.
java.lang.IllegalArgumentException: No enum constant com.github.rnewson.couchdb.lucene.util.Analyzers.{"PERFIELD"
at java.lang.Enum.valueOf(Enum.java:236
标签: Lucene
ehcachesecond-level-cacheehcache-bigmemory
我想使用二级缓存框架缓存lucene search返回的结果,以便更快地缓存响应。如何实现这一点?对于经常使用的查询(或子查询),Lucene使用或缓存任意过滤器类型的结果来实现缓存搜索
无法删除文件“/my path/scheme/label/lucene/_5.cfs”
我的直觉是Neo4j在调用shutdown后并没有正确地销毁Lucene,但我不确定。正在寻求帮助。谢谢。您使用的是什么操作系统?以前从未见过这个问题。你让关机结束了吗?什么操作系统?您介意在github上设置一个复制该问题的示例项目吗?
在关系数据库上,我有两个表,它们通过一个外键连接,在一个典型的一对多关系上。我想将此模式转换为ElasticSearch,因此我研究并找到了两个选项:和。我的最终目标是在Kibana4中可视化这个数据集
亲子关系似乎是最合适的,因此我将根据官方文件和我在网上找到的几个例子,描述我遵循的步骤
curl -XPUT http://server:port/accident_struct -d '
{
"mappings" : {
"event" : {
},
"details": {
我正在从Lucene 3迁移到Lucene 5.3,在转换一行代码时遇到了问题
我曾经传递字段Field.Index.analysis,Field.TermVector.YES
现在,使用此代码:
Document.Add(new TextField("Tags", Data.Tags, Field.Store.YES));
我不知道如何传递TermVector字段,以便可以查找标记词。
5.3文档本质上是一个类列表,没有任何真正的解释,虽然Lucene 3在论坛中有很多信息,但我找不到关于5
我的目标是存储和索引JSON密钥对值。
理想情况下,我会将它们存储在一个常量字段名中。(为了简单起见,“等级”)
传入JSON对象的一个示例:
"Data": [{
"Key": "DP01",
"Value": "Excellent"
}, {
"Key": "DP02",
"Value": "Average"
}, {
"Key": "DP03",
"Value": "Ne
我是否可以对默认时间戳字段进行范围查询,忽略日期值,即仅使用时间戳中的时间-例如每天2小时
我的意图是搜索所有文档,但不包括在晚上9点到凌晨12点之间索引的文档(我在过滤中看到了日期范围的示例)
时间戳示例如下所示:
"@timestamp": [
"2015-12-21T15:18:17.120Z"
]
Elasticsearch版本:1.5.2我的第一个想法是在Elasticsearch查询中使用日期数学,例如,如果您在下午
我有以下Cloudant搜索索引
"indexes": {
"search-cloud": {
"analyzer": "standard",
"index": "function(doc) {
if (doc.name) {
index("keywords", doc.name);
index("name", doc.name, {
标签:elasticsearch Lucene
bigdata
我有一个名为dictionary的索引,其中包含像关键字、映射关键字和类别过滤器这样的字段
Keyword Mapped Keyowrd Category
------- -------------- --------
apple apple iphone smartphones
apple apple watch smart watches
apple apple ipad table
上一页 1 2 ...
48 49 50 51 52 53 54 ...
下一页 最后一页 共 78 页