Tag: solr

Solr将整个索引加载到内存中

我使用solr获取类似名称的数据:年龄:性别:平衡:nextbalance:兴趣 我在磁盘上有30 M记录,总计4G。 我按年龄检索:23只有50条记录。 我在schema xml中有indexed =“true”。 Solr似乎将磁盘上的整个索引加载到内存(4G)中。 它不应该只将40多条记录检索到内存中吗?

Solr Filter Cache(FastLRUCache)占用太多内存并导致内存不足?

我有一个Solr设置。 一个主服务器和两个从服务器用于复制。 我们在索引中有大约7000万份文件。 从站有16 GB的RAM。 操作系统和高清10GB,Solr 6GB。 但是,奴隶们不时会记忆犹新。 当我们在内存不足之前下载转储文件时,我们可以看到该类: org.apache.solr.util.ConcurrentLRUCache$Stats @ 0x6eac8fb88 正在使用高达5Gb的内存。 我们广泛使用过滤缓存,它的命中率为93%。 这是solrconfig.xml中filter缓存的xml 查询结果具有相同的设置,但使用LRUCache并且它仅使用大约35mb的内存。 配置是否有问题需要修复,或者我只需要更多内存用于过滤缓存?

更喜欢Apache Lucene而不是Solr的情况?

使用Solr 1.4(开箱即用的分面搜索,分组,复制,http管理与luke,……)有几个优点。 即使我在我的Java应用程序中嵌入了搜索function,我也可以使用SolrJ来避免在使用Solr时进行HTTP权衡。 是否推荐SolrJ? 那么,你什么时候推荐使用“纯Lucene”? 它有更好的性能还是需要更少的RAM? 它是否可以更好地进行unit testing? PS:我知道这个问题 。

Solr:结合EdgeNGramFilterFactory和NGramFilterFactory

我有一种情况需要使用EdgeNGramFilterFactory和NGramFilterFactory。 我正在使用NGramFilterFactory来执行“包含”样式搜索,最小字符数为2.我还想搜索第一个字母,例如带有前EdgeNGramFilterFactory的“startswith”。 我不想将NGramFilterFactory降低到最小字符1,因为我不想索引所有字符。 一些帮助将不胜感激 干杯

在MongoDB和Apache Solr之间同步数据的简便方法

我最近开始使用MongoDB和Apache Solr。 我使用MongoDB作为数据存储,我希望Apache Solr为我的应用程序中的搜索function创建数据索引。 经过一些研究我发现,基本上有两种方法可以在MongoDB和Solr之间同步数据。 1)使用Solr DataImportHandler – 为此,我使用了由james创建的SolrMongoImporter,并在github上关注了他的教程 我能够成功运行Import Handler并且Solr识别出ImportHandler,但它没有将任何文档导入solr。 每次它说更新的文件= 0。 2)然后我尝试切换到MongoDB端,看看是否存在任何东西,我发现10gen提供了MongoDBConnector 。 当我按照说明操作并运行连接器时,它会尝试将大量文档发布到Solr,并提供以下输出。 2012-11-24 15:15:20,665 – INFO – Finished ‘http://localhost:8983/solr/update/?commit=true’ (POST) with body ” in 0.010 seconds. 2012-11-24 15:15:21,674 – INFO – Finished ‘http://localhost:8983/solr/update/?commit=true’ (POST) with body ” in 0.009 seconds. 2012-11-24 15:15:22,683 – INFO – Finished ‘http://localhost:8983/solr/update/?commit=true’ (POST) with body ” […]

Node.getTextContent()在Node中未定义

在我的项目中,我面临着一个问题 方法getTextContent()未定义类型Node 我目前正在使用jdk 1.5,任何人都可以告诉我这是关于什么的。

Lucene作为数据存储

是否可以将Lucene用作完整的数据存储(就像其他(mongo,couch)nosql变体一样)。 我知道有一些限制,比如一个索引器的新更新文档不会在其他索引器中显示。 所以我们需要重新启动索引器才能获得更新。 但我最近偶然发现了solr ,似乎某些快照复制可以避免这些问题。 所以我认为我可以使用lucene作为数据存储,因为它还使用mongo和couch内部用于管理文档的相同类型的文档(基于JSON),并且其经过validation的索引算法可以超快速地获取记录。 但我很好奇有没有人尝过这个…? 如果没有选择这种方法的原因是什么。

使用Solr索引多种语言

我们正在建立一个Solr来索引文档,其中title字段可以是各种语言。 谷歌搜索后,我发现了两个选项: 为每种语言定义不同的模式字段,即title_en,title_fr,…对每种语言应用不同的filter,然后使用相应的语言查询其中一个标题字段。 创建不同的Solr核心来处理每种语言并使我们的应用程序查询正确的Solr核心。 哪一个更好? 有什么起伏? 谢谢

indexin使用solr时打开文件exception太多

我正在使用SOLR在我的Web应用程序中索引文档,solr.war部署在jboss服务器上。 但索引时我得到的文件太多,打开exception。 下面是一些exception堆栈跟踪: 12:31:33,267 ERROR [STDERR] Exception in thread “Lucene Merge Thread #0” 12:31:33,267 ERROR [STDERR] org.apache.lucene.index.MergePolicy$MergeException: java.io.FileNotFoundException: /data/jbossesb/bin/solr/data/index/_2rw.prx (Too many open files) 12:31:33,267 ERROR [STDERR] at org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:351) 12:31:33,267 ERROR [STDERR] at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:315) 12:31:33,267 ERROR [STDERR] Caused by: java.io.FileNotFoundException: /data/jbossesb/bin/solr/data/index/_2rw.prx (Too many open files) 12:31:33,267 ERROR [STDERR] at java.io.RandomAccessFile.open(Native Method)

使用solr构建标签云

亲爱的stackoverflow社区: 鉴于一些文本,我希望在文本中获得前50个最常用的单词,并从中创建一个标签云,从而以图形方式显示文本的主要内容。 该文本实际上是一组100左右的评论PER每个ITEM(一张图片)有大约120个项目,我还希望保持云更新 – 通过保持评论索引,并使用云生成代码每次运行新的网络请求出现了。 我决定使用Solr索引文本,现在想知道如何从Solr TermsVectorComponant中获得前50个单词。 以下是术语矢量组件返回的结果示例,在您通过说tv.tf=”true”打开术语频率后: MA147LL/A 5 3 10 11 3007WFP 5 4 如你所见,我有两个问题: 我获得了该文档中的所有条款,不仅仅是前100名 并且它们没有按频率排序,因此我必须得到术语并将其排序在内存中以执行即时尝试。 有没有更好的办法? (或者)我可以告诉solr termvector组件以某种方式对它进行排序并为我提取100个吗? (或)我可以使用其他一些框架吗? 我需要保留新的评论标记,因此标签云始终是最新的 – 对于云生成器,它需要一个加权单词的字典,并使其成为一个很好的图像。 这个答案没有帮助。 编辑 – 尝试jpountz和paige厨师的答案 这是我为此查询得到的结果: select?q=Id:d4439543-afd4-42fb-978a-b72eab0c07f9&facet=true &facet.field=Post_Content&facet.minCount=1&facet.limit=50 1 1 1 1 1 1 1 1 1 1 1 1 1 1 我有50个这样的元素,@ jpountz感谢帮助限制结果,但为什么单个元素的所有FIFTY都保持值1 ? 我的想法是:数字1表示与我的查询匹配的文档的数量(自我通过Id:Guid查询后,它只能是一个)并且它们不代表Post_Content单词的频率 为了certificate这一点,我从查询中删除了Id:GUID,结果是: 33 17 16 […]