我正在我的lucene索引中存储各种文章。
当用户搜索包含特定术语或短语的文章时,我需要显示所有文章可能在1000到10000篇文章之间,但搜索结果中会出现最新的文章
我相信你可以使用日期字段在Lucene中创建搜索结果。
有人能告诉我怎么做的细节吗
提前谢谢 我会实现这个。您应该编写一个新的,其比较函数比较两个日期。然后,您需要使用新的分类器对搜索进行排序。此建议摘自的第6章。我将实施。您应该编写一个新的,其比较函数比较两个日期。然后,您需要使用新的分类器对搜索进行排序。此建议摘自的第6章。您
我已经到了需要在我的Lucene.Net索引中存储一些关于特定字段来源的附加数据的地步。具体来说,我希望在将字段添加到文档中时将guid附加到文档的某些字段,并在从搜索结果中获取文档时再次检索guid
这可能吗
编辑:
好的,让我举个例子来澄清一下
假设我有一个对象,我想让用户用自定义标记来标记它,比如“个人”、“收藏”、“某个项目”。为此,我向文档中添加了多个“标记”字段,如下所示:
doc.Add( new Field( "tag", "personal" ) );
doc.Add( new
我对索尔是个新手。我想使用多个令牌
我正在使用标准标记器,以便通过\t、空格、逗号等拆分单词
现在我想使用一个额外的标记器
如果有话
“牛棚”
我希望它变成“奶牛”和“牛棚”
我只想拆分搜索索引中的几个常用词
因此,我计划使用regex标记器。但是,当我尝试使用时,会收到一条错误消息(“xml根目录下的多个标记器”)
不可能吗?我需要更改代码吗?我做错了吗
感谢您的提示:)每个分析器只能有一个。如果您需要修改标记器生成的标记,您可以使用。太好了,谢谢!我现在只需通过同义词过滤器发送“cowshe
如何将Lucene的荧光笔与短语查询一起使用?
我在谷歌上搜索了一下,我对spanScorer、QueryScorer和一些类似的东西感到困惑
我使用的Lucene版本是3.0.3
我的要求是
-执行多字段查询
-执行通配符搜索
-进行短语查询
以上所有内容都需要突出显示。
我如何做到这一点 所以我找到了我自己问题的答案。。。
经过大量的头发拉扯和谷歌搜索,我发现:
使用以下命令专门设置QueryScore:
qs.setExpandMultiTermQuery(true)
做了突出显示通配符
我想弄清楚有效负载评分在lucene中是如何工作的。因为我不明白PayloadFunction在哪里,我想我真的不明白它是如何工作的。我试着在谷歌上搜索,但除了建议之外,找不到更多的信息。嗯,如果有人能在这里解释一下就好了,否则源代码就是:)它有三个部分。首先,您应该在分析期间生成有效负载。这可以使用PayloadAttribute完成。您只需要在分析期间将此属性添加到所需的术语中
class MyFilter extends TokenFilter {
private PayloadAt
我将在我的项目中实施Lucene搜索,我希望有一个最好的开始。
因此,我认为Lucene(java/C++语言)的3个版本是最好的版本,这些标准是:
1.性能
2.易于实施
3.大量文件
假设系统是windowserver,我要求它长期使用
谢谢我想说Java。Lucene最初是用Java开发的,我认为使用Java会有更大的社区、更多的文档和更大的部署
诚然,Windows通常不被视为部署Java服务的主要平台,但它仍然可以出色地工作。许多人使用Windows进行Java开发,甚至部署,因此我不
目前,我有很多tweet想要索引,但是每个tweet都在一个小文档中。如果我将它们聚合为每个文件100条tweet,是否可以使用Lucene对它们进行索引,但同时维护tweet ID(文件中的ID列)
例如,它的每一行如下所示:
TweetID | TweetText
谢谢,
Andy.Solr将这些字段称为“多值字段”,它们的实现方式是通过偏移量。基本上,您可以为每条tweet分配200字节,然后将第n条tweet的偏移量设置为从200*偏移量开始
搜索时,您可以返回匹配tweet的偏移量,
我试图对一系列文本进行“翻译”。更具体地说,我需要标记输入流,在专门的字典中查找每个术语,并输出相应的标记“翻译”。但是,我还希望保留输入中的所有原始空格、stopwords等,以便输出的格式与输入的格式相同,而不是最终成为翻译流。所以如果我的输入是
Term1:Term2停止词!第三学期
第4条
然后我希望输出看起来像
Term1':Term2'停止字!第3条'
术语4'
(其中Termi'是Termi的翻译)而不是简单的
Term1'Term2'Term3'Term4'
目前我正在做以下工作
每当启动节点时,我都会收到此错误。
怎么了
[2012-10-12 10:00:38,196][DEBUG][action.admin.indices.status] [Gorgilla] [monitoring][1], node[dbnnA1NOQ1ubysyADvazFg], [P], s[INITIALIZING]:
Failed to execute [org.elasticsearch.action.admin.indices.status.IndicesStatusReques
我在JAR文件上下载了“Lukeall-3.5.0”,但我不知道如何让它工作?有人能告诉我运行Luke的详细步骤吗?谢谢大家! 您可以从命令行运行,例如发出java-jar lukeall-3.5.0.jarcommand如果您希望双击运行.jar,那么您必须在.jar文件和需要打开它们的程序javaw.exe之间建立关联。您可以按照以下步骤手动执行此操作,或者查看站点以获取名为Jarfix的自动工具
右键单击.jar并转到“属性”
单击“更改”
单击“浏览…”
导航到Java安装文件夹
在“
考虑到Go的命名相当无害,Google搜索这样一个包只会为我搜索Lucene包的Go生成一个可识别的结果:
有人知道任何用于Go的Lucene端口吗?我认为,这个Go-SOLR库看起来更有希望
看起来有点偏瘦,但可能会让你有所收获
或者,与Elasticsearch类似的故事:
您还可以查看,这是Lucene的一个“松散C”端口。还有另一个用于go的文本索引库
这些特征与lucene非常相似
索引
质疑
在使用谷歌搜索围棋相关资料时,搜索词“golang非常有用。在回答您无法搜索该语言资源的隐
我一直在研究Subtext的Lucene.Net实现,以指导我们在网站上做类似的事情。当对给定帖子进行子文本索引或搜索时,它会通过NumericUtils.IntToPrefixCoded运行ID。
根据Lucene文档,它可以进行一些转换,但不会失去精度。
那么,重点是什么?它是做什么的?为什么?您需要查看,这将更详细地解释它:
为了在ApacheLucene中快速执行范围查询,需要划分一个范围
递归地进入多个区间进行搜索:搜索的中心
仅以trie中可能的最低精度搜索范围,
而边界匹配更精确。
我想得到Lucene指数的最高频率项
我使用:
HighFreqTerms.getHighFreqTerms(reader, noOfTerms, field);
问题是,函数的返回类型为“TermStats[]”。TermStats类有一个名为“termText”的字段,但该字段的类型不是String而是“ByteRef”-如何获得高频项的字符串表示
谢谢。只需调用方法termText.utf8ToString()。只需调用方法termText.utf8ToString()
我不认为这是一个非常模糊的Lucene问题,但不知何故,我似乎无法找到一个很好的解决方案。我将举一个例子
假设我正在建立一个新闻文章网站。注册用户可以为他们感兴趣的文章添加书签。我想让用户只搜索他/她收藏的文章。举个例子,我们还假设一个用户可以为数千篇文章添加书签,而我们的数据库中有数十万用户。如何为这个问题构建一个可扩展的解决方案
非常感谢 这是一个非常典型的Lucene问题,因为它不支持连接。更具体地说,没有一流的支持,你必须找到解决办法。我可以提出一些建议:
您可以拥有一个数据库,其中包含
我们正在使用Neo4j中Lucene支持的索引实现通配符文本搜索,并希望添加soundex和拼写检查功能。有人这样做过吗?我们希望使用Neo4j-Lucene集成层,以便能够整合Neo4j\Lucene索引的管理,而不是直接使用Solr或Lucene API
谢谢不确定是否完成了,但请查看Neo4j索引中的扩展Lucene API,请参阅
我已经使用StandardAnalyzer创建了一个Lucene索引,其中包含以下三个字段
街道名称
城市
陈述
我使用下面的包装器类来简化布尔查询的编写
public interface IQuery
{
BooleanQuery GetQuery();
}
public class QueryParam : IQuery
{
public string[] Fields { get; set; }
public string Term { ge
当我尝试将lucene索引转换为vector时,我使用命令行
/bin/mahout lucene.vector转换为序列文件。这类任务有Java API吗?我想我找到了一个可以帮助我和你实现目标的Java API。在Driver.java中,有一个main方法显示了它们是如何实现的。您需要设置所有配置,然后调用luceneDriver.dumpVectors,它应该转储到一个目录中。可能会很晚,但是可以在这里找到答案:
此外,第六章在书中的驯服文本将有所帮助,我想你可以在网上找到它作为一个例子
我正在使用pylucne建立一个搜索系统。我正在使用TREC数据来测试我的系统。我已经成功地编写了索引器和搜索器代码。现在我想使用TREC主题来评估我的系统。为此,有一个名为的类从TREC格式的主题文件中读取查询。但是该类的readquerys(BufferedReader reader)需要一个BufferedReadertopics文件对象传递给它
如何在pylucene做到这一点。BufferedReader在pylucene JCC中不可用。在等待别人回答之后,我还在pylucene开发
标签: Lucene
hibernate-searchluke
如何使用Luke分析Hibernate搜索查询DSL
我有以下Hibernate搜索查询DSL:
QueryBuilder qb = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(User.class).get();
qb.bool().should(qb.keyword().onField("name").matching(searchQuery).createQuery())
.should(q
我正在使用Lucene.NET,有一个基本问题:
我是否需要为自动完成创建附加索引?
我根据数据库中的两个不同表创建了一个索引
以下是两份文件:
stored,indexed,tokenized,termVector<URL:/Service/Zahlungsmethoden/Teilzahlung>
stored,indexed,tokenized,termVector<Website:Body:The Text of the first Page>
stored,in
使用lucene search,当字段值中至少存在一个已搜索的字符时,如何获得搜索命中率
只有当我用一个完整的词搜索时,我才得到搜索点击率
例如:
你好,世界
在上面的例子中,如果我输入“Hello”,那么我将得到一个点击,但如果我输入“Hel”则不会
以下是我获得点击率的代码:
QueryParser parser = null;
Query query = null;
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURREN
我在Lucene(4.7)中有一个字符串字段,我想在这个字段中找到不同于我的数字的数字。
我怎么做
例如,字段包括“abc345+kl908”,我想查找“abc”,后面跟的是与123不同的任何数字。特别是我不想让它找到“abcde”,因为“de”不是一个数字
有可以找到它的查询吗
非常感谢 那么使用一个
通过这种方式,您可以指定一个正则表达式,它能够根据您的约束验证字段。谢谢!我不知道有这样的事情。如果你已经解决了你的问题,你应该考虑将讨论标记为已回答。
获取Lucene 4.10读取3.2版本索引
升级到4.10仍然需要读取3.2索引。根据需要部署jre 7。在现有代码库中进行了所有错误的更改。在进行重新索引之前,仍然需要阅读3.2索引。如何读取Lucene 4.10的现有3.2索引(如果代码中有任何更改,将进行哪些更改)您可以使用,例如:
IndexUpgrader upgrader = new IndexUpgrader(myIndexDirectory, Version.LUCENE_4_10_0);
upgrader.upgrade()
标签: Lucene
full-text-searchelasticsearch
我正在为一些启用了stopwords的文本编制索引,我想使用不带slop的“匹配短语”查询来搜索这些文本,但看起来stopwords仍然在考虑术语位置
建筑指数:
PUT /fr_articles
{
"settings": {
"analysis": {
"analyzer": {
"stop": {
"type": "standard",
"stopwords" : ["t
我试图理解fieldNorm是如何计算(在索引时)并在查询时使用(显然是重新计算)的
在所有的例子中,我都在使用StandardAnalyzer,没有停止词
在索引内容时使用DefaultSimilarity的computeNorm方法,我注意到它会返回两个特定文档:
文档A为0.5(其字段中有4个标记)
文档B的0.70710677(其字段中有2个令牌)
它通过使用以下公式来实现:
state.getBoost() * ((float) (1.0 / Math.sqrt(numTerms)
我有两个字段,一个是与每个记录关联的timestamp,另一个是expiryDate,因此我想在discover part搜索部分中放置一个lucene查询,以便它提取出到期日期>timestamp的记录。
有谁能帮我写这个问题吗。
将OnLime.时间戳视为一个字段和OnLink . Excel作为另一个字段. 您可以编写下面的查询:-< /p>
{"constant_score":{"filter":{"script" : { "script" : "doc['online.expiry'
我的项目有很多产品。产品具有属性。属性可以动态创建。我需要属性的范围方面。但是没有数字刻面。下面的示例仅适用于字符串镶嵌。如何获取属性的数值范围方面
//product entity
@Indexed
public class Product{
// ommited
@Field(analyze = Analyze.NO, bridge = @FieldBridge(impl = AttrFieldBridge.class))
private List<Attrib
我想在ElasticSearch上存储一些移动应用程序版本数据,并将其可视化到Kibana/Grafana上。目的是了解应用程序版本的使用情况
假设我在ElasticSearch中有这些“mobile app init”事件条目(简化):
我想在Kibana/Grafana中进行可视化,比如:
* version 1.2.3: 2 installations
* version 1.2.4: 1 installation
根据上述数据,ABC和DEF目前正在使用1.2.3版。
1.2.4正在使
我在映射中使用同义词(在文件中定义),搜索效果很好。我现在正在尝试使用带有同义词搜索的update_by_查询更新文档中的一个字段,但运气不好
这里有一个类比来说明我想做的事情:
同义词包括:
dog => max, rex, lassie, foster
cat => shadow, cricket, ruby
示例文件
{
"type": "unknown",
"names" : "simba, foster, lassie, ruby",
"tricks": "
我理解Lucene/Elastisearch搜索的基本概念,它是通过从文档中的文本解析出的单词建立反向索引
尝试找出Lucene/ElasticSearch是否适合以下场景,因为文档中没有太多“单词”需要解析,因此无法从中反转索引
有数百万学生,每个学生可以选择参加一小部分测试(目前学生可以选择上千种不同的测试),每个测试可能包含100个问题。我们希望通过以下文件跟踪学生的表现
{
"studentId": <a number>,
"te
我有一个与下面的问题类似的问题:,我已经尝试了所有的方法。还可能是什么
我正在使用Kentico 12修补程序14,以及他们的Lucene.NET 3.0.3实现。我的智能搜索索引使用标准分析器,请参见以下内容:
当我使用下面的lucene语法提取en-US区域性结果时,我得到了预期的行。此语法由Kentico自动创建,用于检索正确的区域性。这是直接从属性值复制的
"+_culture:([en-us TO en-us] [invariantifieldivaluei TO invariant
标签: Lucene
lazy-loadinghibernate-searchfull-text-indexinghibernate-onetomany
我在SpringBoot2应用程序上使用HibernateSearch5.11,允许进行全文研究。
这个图书馆需要索引文件
当我的应用程序启动时,我会尝试每五分钟手动重新索引一个索引实体(MyEntity.class)的数据(出于特定原因,由于我的服务器上下文)
我尝试为MyEntity.class的数据编制索引
MyEntity.class有一个属性attachedFiles,它是一个哈希集,由join@OneToMany()填充,并启用了延迟加载模式:
@OneToMany(mappedBy
我用Java编写了近40个regexp,并且工作得很好(Java的意思是它可以和Java中的正则表达式匹配器一起工作)。我想在kibana上运行相同的正则表达式,该正则表达式连接到es,用于相同类型的字符串。我可以坐下来把每一个都转换成Lucene,让它工作起来。有没有更简单的方法?我真的不想维护两组regexp。在网上搜索了一下,但什么也没找到
Demax是否支持像标准requestHandler这样的所有功能?停止语?同义词?阻止?你听说过edismax吗
我正在使用Solr1.4
在我对stopwords的第一次测试中,它不起作用。。我想是的
如果count terms=[1,2],我将我的demax配置为匹配所有术语
法语范例
联合国T恤的意思是:一件T恤,应该只搜索T恤权利,即使我的mm=2
Demax没有结果,它是,寻找两个词:它的Demax un词和tshirt词
使用标准查询找到的结果:仅查找tshirt单词。
提前感谢您
我正在尝试将一些实体从现有数据库映射到SOLR
各表如下:
酒店:
乌伊德酒店
阿努姆酒店
HotelToCategory:
乌伊德酒店
类别识别码
比率
类别:
类别识别码
名称
价值观
如何使用DataImportHandler生成以下文档:
{
hotel_name: 'name',
hotel_id: 1,
categories: [
{ category_name: 'cname',
value: 'val',
我在索引文件中有一个未加密的字段。我正在使用前缀查询来获取值。我用它来自动建议(当我给出关键字时,它将开始建议相关数据)
例如:
字段名为“国家”。它列出了澳大利亚、美国、印度、新加坡、南非、新西兰等国家的价值观(标题为)
当我将查询字符串(输入)设为'a'时,它并不表示任何国家。。相反,如果我给“A”意味着它建议澳大利亚、美国
我如何克服这个案例问题?这是怎么回事
非常感谢你的帮助
谢谢
从
通配符、前缀和模糊查询是否区分大小写
不,不是默认的。与其他类型不同
Lucene查询、通配符、前缀、
简单问题:如何使Lucene的标准分析器在分析我的句子时不删除停止词?答案取决于版本。例如,您需要使用一组空的停止字来构造StandardAnalyzer,使用如下内容:
Analyzer ana = new StandardAnalyzer(LUCENE_30, Collections.emptySet());
更新:
答案取决于版本。对于Lucene 4.0,请使用:
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_40, C
标签: Lucene
search-enginerelevance
我们正在使用Lucene.NET 2.9版使用自由文本查询搜索项目。我们得到了Lucene根据相关性自动排序的项目。除了一个奇怪的案例外,它一直运作良好。搜索敏捷项目管理时,Lucene返回的前4项如下
面向傻瓜的敏捷项目管理
敏捷项目管理基础
敏捷项目管理
敏捷项目管理
项目3或4应该显示在顶部,因为它们是完美的。在我们搜索的许多情况下,如果一个项目与100%匹配,它将显示在顶部。任何人都可以解释这里发生了什么。我们使用的是标准Analyzer。我首先要看的是搜索中还包括哪些字段?例如,加载“
标签: Lucene
tokenizeanalyzerstemming
我想做一些基本的希伯来语词干分析
我能找到的所有自定义分析器的示例总是合并其他分析器和过滤器,但它们自己从来不进行任何字符串级处理
例如,如果我想创建一个分析器,根据以下规则为流中的每个术语发出一个或两个术语,我必须做什么
如果传入术语以“a”开头,则应按原样传递。
如果引入的术语以“a”开头,则应引出两个术语:原始术语和第二个术语,不带前导“a”,且升幅较低
因此,如果文档有“help away”,它将返回“help”、“away”和“way^0.8”
我应该重写分析器的哪些方法来执行此操作?
在创建索引时(而不是查询索引时),是否可以确定特定术语比其他术语更重要
例如,考虑同义词过滤器:
博士1:“这是一辆好车”
医生2:“这是一辆好车”
我想在第一个文档中添加术语vehicle,在第二个文档中添加术语car,
但是我想,如果稍后用car这个词查询索引,那么第一个文档的得分将高于第二个文档,如果查询车辆,则相反
在将字段添加到各自的文档之前,对字段调用setBoost会起作用吗
或者我应该将同义词添加到另一个字段名中
还是我从错误的角度看待这件事
谢谢在一个字段上设置boost会影响
我创建了一个使用默认数据库爬虫的新索引。我无法让它索引我指定的5个模板上的所有字段
我正在使用IndexViewer模块检查上述字段。在可用字段中,它列出了我要索引的所有字段,但仅索引以下字段-\u url、\u group、\u name和\u标记
我还编写了一些代码来针对索引字段进行测试,并得到了预期的结果。我只需要索引包含指定模板上的所有字段。下面是我的索引配置
$(id)
__文章
网状物
/sitecore/content/[websitehome]
文章
真的
{C4663677-
我们正在将搜索基础设施从Lucene 2.3.1升级到Lucene 3.5。我正在进行负载测试,我发现Lucene 2.3.1每秒可以索引32000个文档,而Lucene 3.5每秒只能索引17000个文档
实际上,它们都使用标准分析器和默认设置。3.5是否会因为索引了更多的细节而变得更慢,从而导致更快的搜索?我们的产品是日志管理产品,索引速度非常重要
好的,长话短说,3.5的索引速度较慢会导致更高的搜索速度吗?如果不是,我还应该微调什么来提高索引速度?你在Lucene wiki上看过吗
否则,
我是Lucene的新手,我将Lucene与Java结合使用。我正在读《lucene in action》一书,它涵盖了2.4版本。同样,索引编写器构造函数参数中的“最大字段长度”将设置为“无限制”。现在参考javadocs,我推断如果我们想要设置字段长度,那么我们必须使用LimitTokeneAnalyser。我运行了一个示例程序,其中我实例化了一个标准分析器,并使用返回255的gerMaxFieldLength方法进行检查。因此,是否只能使用标准分析仪对255个字段进行索引,并且不限字段长度选
标签: Lucene
analyzerstemminghippocms
我需要修改lucene分析器,使其能够识别单词“Ben”(荷兰语停止词)。请进一步指导我。如何让Lucene Analyzer接受这个词作为常规词
服务器的Repository.xml
<paramname="analyzer"value="org.hippoecm.repository.query.lucene.StandardHippoAnalyzer"/>
workspace.xml
<?xmlversion="1.0"encoding="UTF-8"?>
&
我正在使用Lucene.net 3.0.3,我不明白停止词在查询中应该如何工作
我将此文本作为输入:停止单词
我使用StandardAnalyzer(Version.LUCENE_30)进行索引和查询。索引有一个字段标题
该字段设置为存储和分析。我也玩过不同的TermVector。
对于查询解析,我使用简单的QueryParser.Parse和
这就是问题所在:
查询标题:停止单词返回文档-这很好
对Title:stop word的查询不会返回文档-我期待它,因为stop words已从索引中
lucene filter是否依赖于某些索引来删除重复的结果,或者如果结果列表中有一个具有此值的文档,是否不点击更多文档?还是以其他方式达到这个条件
例如,我有索引:
1 | a | 2
2 | b | 3
3 | c | 2
4 | d | 4
如果我有一个符合a、b、c、d的查询,我需要在第三列得到不同的结果,所以我希望:
b、 d、a或c-只有一个,这并不重要,因为a和c在第三列上具有相同的值。您必须使用DuplicateFilter,如中所述
但是这个过滤器有一个缺陷,它只有在索引存储
现在我正在评估多种工具,以实现全文搜索。
我能够很容易地找到一个解释Lucene的架构图,SolR也是如此,但即使搜索google图片,我也找不到一个像样的图来解释弹性搜索的结构及其与Lucene组件的关系。
你能给我指出一个合适的资源,通过架构图突出弹性搜索的结构吗
我有这样一个问题:
{
"size": 4,
"query": {
"bool": {
"should": [{
"terms": { "property": ["iPhone earbuds", "iPhone 6 case"] }
}, {
"constant_score": {
"filter
标签:elasticsearch Lucene
full-text-search
是否可以使用类似于此的查询跨具有不同字段名的类型进行搜索?例如,假设我有两种不同的类型(例如type1和type2),它们都有一个文本字段,但名称不同(例如type1_文本和type2_文本)。以下查询不会产生任何结果:
GET /index-name/_search
{
"query": {
"more_like_this" : {
"fields" : ["type2_text"],
"like" : [
我用“块”填充了一个包含父文档和子文档的索引。i、 e.使用IndexWriter.addAll()方法添加文档,最后一个文档是父文档
目前,我只成功地搜索了“块”,查询中的任何术语都出现在父项或子项中。这是给我的结果。e、 我得到了最好的结果,其中只有一个术语在“块”中多次出现,但其他术语根本不出现
我想搜索“块”,其中查询中的所有术语必须出现在父项或其子项中
但我不确定如何构造查询
我当前的查询代码如下:
Analyzer analyzer = new EnglishAnalyzer();
上一页 1 2 ...
31 32 33 34 35 36 37 ...
下一页 最后一页 共 78 页