草庐IT

sunspot-solr

全部标签

java - Solr Custom Similarity - 使用索引文档中的字段

我们目前使用的是非常旧的LuceneV4.X版本,现在正在迁移到SolrV7.4.0云。我们有一个自定义的相似度类,我们用它来影响我们在文档中使用的索引字段(“RANK”)的分数。这是类的样子-CustomSimilarity.javapublicclassCustomSimilarityextendsSimilarity{privatefinalSimilaritysim;privatefinaldoublecoefficiency;privateStringpopularityRank;staticInfoStreaminfoStream;publicCustomSimilarit

Lucene轻量级搜索引擎,真的太强了!!!Solr 和 ES 都是基于它

一、基础知识1、Lucene是什么Lucene是一个本地全文搜索引擎,Solr和ElasticSearch都是基于Lucene的封装Lucene适合那种轻量级的全文搜索,我就是服务器资源不够,如果上ES的话会很占用服务器资源,所有就选择了Lucene搜索引擎2、倒排索引原理全文搜索的原理是使用了倒排索引,那么什么是倒排索引呢?先通过中文分词器,将文档中包含的关键字全部提取出来,比如我爱中国,会通过分词器分成我,爱,中国,然后分别对应‘我爱中国’然后再将关键字与文档的对应关系保存起来最后对关键字本身做索引排序3、与传统数据库对比LuceneDB数据库表(table)索引(index)行(row)

java - Solr 排序问题

我在所有索引字段上收到此奇怪的错误消息无法对多值字段进行排序:fieldname。这是来自solr的完整错误消息HTTPStatus400-cannotsortonmultivaluedfield:pricetypeStatusreportmessagecannotsortonmultivaluedfield:pricedescriptionTherequestsentbytheclientwassyntacticallyincorrect(cannotsortonmultivaluedfield:price).GlassFishServerOpenSourceEdition3.1我确

ElasticSearch与Apache Solr的整合

1.背景介绍Elasticsearch和ApacheSolr都是基于Lucene的搜索引擎,它们在文本搜索和分析方面具有很高的性能和准确性。然而,在某些情况下,我们可能需要将这两个搜索引擎整合在一起,以利用它们各自的优势。在本文中,我们将讨论如何将Elasticsearch与ApacheSolr整合,以及这种整合的优缺点。1.1Elasticsearch简介Elasticsearch是一个开源的搜索和分析引擎,基于Lucene库开发。它具有高性能、可扩展性和实时性。Elasticsearch可以用于文本搜索、日志分析、时间序列分析等应用。1.2ApacheSolr简介ApacheSolr是一个

java - Solr suggester 抛出 stackoverflow 错误

使用solrsuggester时显示以下错误。有没有人遇到过类似的错误。是由于查找工厂限制导致的错误。错误{"error":{"msg":"java.lang.StackOverflowError","trace":"java.lang.RuntimeException:java.lang.StackOverflowErrororg.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:618)org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:477

solr不正确查询“ \ n”

当我发送solr以下查询参数时,我找到了零记录fq=field1_s:("lorem%20ipsum\nsolor%20sit%20amet")&q=*:*defType=edismax即使有一个记录具有field1_s“loremipsum\nsolorsitamet”的值,我该如何正确发送“\n”字符?它适用于没有“\n”的字符串。看答案编码斜线\到%5C,因此编码\n将会%5Cn因此,您的查询应该是:fq=field1_s:("lorem%20ipsum%5Cnsolor%20sit%20amet")&q=*:*defType=edismax如果您使用的是Solrj,则可以使用Clien

带有Django-Haystack的Solr:“无法创建测试器”

我正在尝试使用Solr使用DjangoHaystack创建搜索引擎。到目前为止,我遵循以下文档,并在服务器上安装了Solr-6.6.0。http://django-haystack.readthedocs.io/en/master/installing_search_engines.html#solr但是有命令./bin/solrcreate-ctester-nbasic_config我不断收到错误:FailedtodeterminetheportofalocalSolrinstance,cannotcreatetester!有什么问题?看答案您可以使用以下命令:$cdsolr$bin/sol

java - 内存不足错误 : Java heap space error when start solr

我开始使用solr索引数据库文章,但是在添加了大约5800万篇文章(以及大约113GB的磁盘大小)之后,我在tomcat日志错误中收到以下错误消息注意1:我已经将Init内存池设置为256MB,并将Maxmemorypool:1400MB设置为tomcat服务器。注2:我可以发布或搜索文章,但必须等待超过3分钟才能收到回复。8-apr-201014:27:07org.apache.solr.common.SolrExceptionlogSEVERE:java.lang.OutOfMemoryError:Javaheapspaceatorg.apache.lucene.util.Prio

java - SOLR 性能调整

我已阅读以下内容:http://wiki.apache.org/solr/SolrPerformanceFactorshttp://wiki.apache.org/solr/SolrCachinghttp://www.lucidimagination.com/content/scaling-lucene-and-solr我对一些事情有疑问:如果我使用JVM选项-XX:+UseCompressedStrings我可以节省什么样的内存?举个简单的例子,如果我有1个索引字段(字符串)和1个存储字段(字符串),并且omitNorms=true和omitTf=true,我可以期望在索引和文档缓存

java - Solr 搜索查询区分大小写

我正在尝试使用Solr搜索一些FirstName为的记录;abcdAbcdabcDABcdabCdabCD现在我正在尝试使用通配符支持进行搜索。我需要了解搜索在区分大小写方面的具体工作原理。例如如果我将FirstName参数作为ab*与Ab*传递,将返回哪些记录?有什么方法可以使搜索区分大小写或不区分大小写吗? 最佳答案 这取决于您如何在schema.xml中定义字段。如果你使用LowerCaseFilterFactory在索引和查询时,所有查询都将不区分大小写。否则它将区分大小写。 关