• Solr集合与核心
    我很难理解集合和核心之间的区别。如果我正确理解的话,核心就是多个索引。集合由内核组成,因此本质上它们在分离中共享相同的逻辑,即单独的内核和集合具有单独的端点。 我有以下情况。我为多个在线商店创建了一个云服务后端。每个商店都有一套产品,客户可以在其中添加评论。我想将静态数据(产品信息)与动态信息(评论)分开索引,以便提高性能。 我怎样才能最好地在Solr中分开??? 最佳答案 从SolrCloud文档中 集合:单个搜索索引。      分片:单个集合的逻辑部分(也称为   切片)。有时人们会在物理上谈论...
  • Elasticsearch总是返回“缺少映射类型”
    我遵循此处给出的建议,以便通过elasticsearch查找部分单词: ElasticSearch n-gram令牌过滤器未找到部分单词 我创建了一个简单的bash脚本,尝试运行此脚本的一个版本: curl -XDELETE 10.160.86.134:9200/products curl -XPOST 10.160.86.134:9200/products -d '{ "index": { "number_of_shards": 1, "analysis": { "fil...
  • 什么是最好,最活跃的开源.Net搜索技术?
    我正在尝试决定.NET项目的开源搜索/索引技术。看起来Java项目的标准是Lucene,但是就.Net而言,Lucene.Net项目似乎还很不活跃。这仍然是最好的选择吗?还是还有其他可行的选择? 最佳答案 尽管它们在相当长一段时间内都不是Lucene.Net的“全面发布”版本(即完整的文档,网站更新),但仍对其SVN存储库进行了新的提交。 例如,最新版本(2.3.2)标记为07/24/09(请参见此处)。 由于开发仍处于活跃状态,因此我将其用于新的全文搜索项目。
  • 了解Elasticsearch中的细分
    我当时假设Elasticsearch中的每个碎片都是一个索引。但是我在某处读到,每个段都是一个Lucene索引。 细分到底是什么?它如何影响搜索效果?我的索引每天使用默认的Elasticsearch设置达到450GB左右(我每天创建一个新索引)。 When I execute curl -XPOST "http://localhost:9200/logstash-2013.03.0$i_optimize?max_num_segments=1", I get num_committed_segments=...
  • SQL Server 2008全文搜索(FTS)与Lucene.NET
    我知道过去一直有关于SQL 2005和Lucene.NET的问题,但是自2008年问世以来,他们对此进行了很多更改,并且想知道是否有人可以给予我赞成/反对(或链接到文章)。 最佳答案 我在2006年基于SQL Server 2005的FTS建立了一个中等大小的知识库(也许有2GB的索引文本),现在将其移至2008的iFTS。两种情况对我来说都很好,但是从2005年到2008年的迁移实际上对我来说是一种进步。 我的情况不像StackOverflow那样,因为我正在索引仅每晚刷新的数据,但是我试图将来自多...
  • Lucene分数结果
    在Lucene中,如果您有多个索引,每个索引仅覆盖一个分区。为什么对不同索引进行相同的搜索会返回分数不同的结果?来自不同服务器的结果完全匹配。 即如果我搜索: 名字-约翰·史密斯 DOB-1934年11月11日 分区0将返回0.345的分数 分区1的得分为0.337 两者在名称和DOB上完全匹配。 最佳答案 计分包含反向文档频率(IDF)。如果术语“ John Smith”在一个分区中,则为0、100次,在分区1中,则为一次。搜索约翰·史密斯(John Smith)的得分会更高,因为该术语更为稀...
  • Solr / Solrj:如何确定索引中的文档总数?
    如何使用Solrj确定Solr索引中的文档总数? 经过数小时的搜寻,我实际上得到了答案(如下所示);我只发布此问题,以便其他人可以更轻松地找到解决方案。 最佳答案 这就是我正在使用的。这是规范的吗?有没有更好的办法? SolrQuery q = new SolrQuery("*:*"); q.setRows(0); // don't actually request any data return server.query(q).getResults().getNumFoun...
  • 搜索引擎Lucene vs数据库搜索
    我正在使用MySQL数据库,并且一直在使用数据库驱动的搜索。数据库引擎和Lucene搜索引擎有什么优缺点?我想对何时何地使用它们提出建议? 最佳答案 我建议您阅读全文搜索引擎与DBMS。一种情况是:如果您的用例大部分是全文搜索,请使用Lucene。如果您的用例大部分是联接和其他关系操作,请使用数据库。您可以将混合解决方案用于更复杂的用例。
  • Lucene中的细分是什么?
    Lucene中的细分是什么? 细分的好处是什么? 最佳答案 Lucene索引被分成称为段的较小块。每个段都是其自己的索引。 Lucene依次搜索所有它们。 当新的作者打开,作者提交或关闭时,都会创建一个新的段。 使用此系统的优点是,创建细分后,您无需再修改其文件。在索引中添加新文档时,它们将添加到下一个段。以前的段永远不会被修改。 只需通过在文件中指示删除段的哪个文档即可完成删除文档,但实际上,该文档始终停留在该段中。 Lucene中的文档并没有真正更新。发生的是该文档的先前版本在其原始段中被标记为已...
  • 如何使用Solr / Lucene搜索值列表?
    给定以下查询: (field:value1 OR field:value2 OR field:value3 OR ... OR field:value50) Can this be broken down into something less verbose? Basically I have hundreds of category IDs, and I need to search for items under large groups of category IDs (20-50 at a t...
  • ElasticSearch-搜索人名
    我有一个很大的名字数据库,主要来自苏格兰。我们目前正在生产一个原型,以替换执行搜索的现有软件。这仍在生产中,我们的目标是使我们的结果尽可能接近同一搜索的当前结果。 我希望有人可以帮助我,我正在对Elastic Search进行搜索,查询是“ Michael Heaney”,我得到了一些疯狂的结果。当前搜索返回两个主要的姓氏-“ Heaney”和“ Heavey”都以“ Michael”为姓,我可以在Elastic Search中获得“ Heaney”结果,但是我也无法获得“ Heavey”和ES返回没有姓“...
  • Solr是否可用于.Net?
    我想学习Solr。我可以知道一些很好的教程/链接吗? 另外,Solr是否可用于.NET? 最佳答案 如果您要在.Net而不是Java上运行Solr服务器,则没有,没有端口。我一直在尝试使用IKVM运行它,但是它对我来说优先级较低,因此我不能花太多时间在上面。如果有人可以提供帮助,那就太好了。 如果要从.Net应用程序使用/连接到Solr,则可以,可以使用SolrNet或SolrSharp。 我不久前写了关于这个的博客。 更新:我在Solr + IKVM方面取得了重大进展。
  • Lucene.Net最佳实践
    使用Lucene.Net的最佳实践是什么?或在哪里可以找到一个好的lucene.net使用示例? 最佳答案 如果您打算与Lucene合作,我会买一本涵盖从A到Z的好书。Lucene的学习曲线非常陡峭(我认为)。重要的不仅是知道如何搜索您的内容,还在于将其编入索引。进行基本搜索很容易,但是创建包含数百万条数据记录的索引并且仍然能够对其进行快速的搜索是可能的,但是非常困难。没有教程可以帮助您学习。 我会推荐Michael McCandless,Erik Hatcher和OtisGospodnetić撰写的...
  • MongoDB是否是关系数据库+ Lucene的有效替代方案?
    在一个新项目中,我需要在搜索器实现中使用lucene。这个搜索者将是该项目中非常重要(也是很大)的一部分。用MongoDb替换关系数据库+ Lucene是否有效或方便? 编辑:好的,我要澄清:我不是在问风险,我可以在这个项目中付出这个代价。我的观点是:MongoDB是否针对此类事情?我可以使用与Lucene相同的性能来制作一个完整的搜索引擎吗?一位朋友指出我可以选择MongoDB,但是我看不到Lucene的性能是否与文档替代一起出现(然后,我也将在MongoDB中看到它),或者另一方面,反向索引和优化是完整...
  • ElasticSearch 亿级数据检索案例实战
    通过Luke工具查看ES的lucene文件如下,主要增加了_id和_source字段:3.2 Lucene索引实现Lucene 索引文件结构主要的分为:词典、倒排表、正向文件、DocValues等,如下图:注:整理来源于lucene官方:http://lucene.apache.org/core/7_2_1/core/org/apache/lucene/codecs/lucene70/package-summary.html#package.descriptionLucene 随机三次磁盘读取比较耗时。提高索引与检索的性能建议,可参考官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html一些细节优化项官方与其他的一些文章都有描述,在此文章中仅提出一些本案例的重点优化项。
  • 大数据集的TFIDF
    我有一个大约有800万条新闻文章的语料库,我需要以稀疏矩阵的形式获取它们的TFIDF表示形式。我已经能够使用scikit-learn来实现相对较少的样本数量,但是我相信它不能用于如此庞大的数据集,因为它首先将输入矩阵加载到内存中,这是一个昂贵的过程。 谁知道,对于大型数据集,提取TFIDF向量的最佳方法是什么? 最佳答案 Gensim具有高效的tf-idf模型,不需要一次将所有内容存储在内存中。 您的语料库只需要是可迭代的,因此不需要一次将整个语料库存储在内存中。 根据评论,make_wiki脚本可在...
  • lucene中BooleanClause.Occur.Must和BooleanClause.Occur.SHOULD之间的区别
    谁能用示例解释lucene中lucene中BooleanClause.Occur.Must和BooleanClause.Occur.SHOULD之间的区别? 最佳答案 BooleanClause.Occur.SHOULD means that the clause is optional, whereas BooleanClause.Occur.Must means that the clause is compulsory. 但是,如果布尔查询仅具有可选子句,则至少一个子句必须匹配,文档才能出现在结...
  • ElasticSearch 亿级数据检索案例实战
    通过Luke工具查看ES的lucene文件如下,主要增加了_id和_source字段:3.2 Lucene索引实现Lucene 索引文件结构主要的分为:词典、倒排表、正向文件、DocValues等,如下图:注:整理来源于lucene官方:http://lucene.apache.org/core/7_2_1/core/org/apache/lucene/codecs/lucene70/package-summary.html#package.descriptionLucene 随机三次磁盘读取比较耗时。提高索引与检索的性能建议,可参考官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html一些细节优化项官方与其他的一些文章都有描述,在此文章中仅提出一些本案例的重点优化项。
公众号
关注公众号订阅更多技术干货!