LINUX.ORG.RU
ФорумAdmin

Dovecot FTS

 , ,


0

1

У меня подняты почтовики в связке Centos 7+ dovecot + postfix+ nginx + roundcube. Поиск в кубе плохо работает с большими ящиками. Встал вопрос по решению. Нашел вариант FTS. В одном варианте надо накатывать Solr apache. С ним у меня не взлетело ничего. Есть ли еще какой-нибудь вариант решения, попроще может быть ? Нашел еще fts-xapian, но нет установки на centos.

хотел сделать хорошо, но ничего не получилось, помогите!

Смысл писать сюда есть только с конкретными вопросами.

zgen ★★★★★
()
Ответ на: комментарий от maximice

второй бессмысленный вопрос общего характера.

Вот тут со слов «Clone this project:» написано «как»

https://github.com/grosjo/fts-xapian

Перед этим убедись, что требования выполнены:

* Dovecot above 2.2.x (or above)
* Xapian 1.4.x (or above)
* ICU 63.x (or above)

zgen ★★★★★
()
Ответ на: комментарий от zgen

Попробовал такое решение https://habr.com/ru/post/350256/ Однако на шаге

./solr create_core -c dovecot -n dovecot

Валятся ошибки:

ERROR: Expected JSON response from server but received: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/admin/info/system. Reason:
<pre>    Not Found</pre></p><h3>Caused by:</h3><pre>javax.servlet.ServletException: javax.servlet.UnavailableException: Error processing the request. CoreContainer is either not initialized or shutting down.
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:502)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:748)
Caused by: javax.servlet.UnavailableException: Error processing the request. CoreContainer is either not initialized or shutting down.
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:359)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
        ... 16 more

Не могу понять что не так, подскажите пожалуйста.

maximice
() автор топика
Ответ на: комментарий от maximice

SOLR.LOG

2020-03-03 07:11:27.953 INFO  (main) [   ] o.e.j.u.log Logging initialized @1083ms to org.eclipse.jetty.util.log.Slf4jLog
2020-03-03 07:11:28.159 WARN  (main) [   ] o.e.j.s.AbstractConnector Ignoring deprecated socket close linger time
2020-03-03 07:11:28.167 INFO  (main) [   ] o.e.j.s.Server jetty-9.4.14.v20181114; built: 2018-11-14T21:20:31.478Z; git: c4550056e785fb5665914545889f21dc136ad9e6; jvm 1.8.0_242-b08
2020-03-03 07:11:28.199 INFO  (main) [   ] o.e.j.d.p.ScanningAppProvider Deployment monitor [file:///opt/solr-7.7.2/server/contexts/] at interval 0
2020-03-03 07:11:28.472 INFO  (main) [   ] o.e.j.w.StandardDescriptorProcessor NO JSP Support for /solr, did not find org.apache.jasper.servlet.JspServlet
2020-03-03 07:11:28.485 INFO  (main) [   ] o.e.j.s.session DefaultSessionIdManager workerName=node0
2020-03-03 07:11:28.485 INFO  (main) [   ] o.e.j.s.session No SessionScavenger set, using defaults
2020-03-03 07:11:28.487 INFO  (main) [   ] o.e.j.s.session node0 Scavenging every 660000ms
2020-03-03 07:11:28.589 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter Using logger factory org.apache.logging.slf4j.Log4jLoggerFactory
2020-03-03 07:11:28.605 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 7.7.2
2020-03-03 07:11:28.605 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in standalone mode on port 8983
2020-03-03 07:11:28.605 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: /opt/solr
2020-03-03 07:11:28.606 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2020-03-03T07:11:28.606Z
2020-03-03 07:11:28.634 INFO  (main) [   ] o.a.s.c.SolrResourceLoader Using system property solr.solr.home: /srv/solr/data
2020-03-03 07:11:28.643 INFO  (main) [   ] o.a.s.c.SolrXmlConfig Loading container configuration from /srv/solr/data/solr.xml
2020-03-03 07:11:28.724 INFO  (main) [   ] o.a.s.c.SolrXmlConfig MBean server found: com.sun.jmx.mbeanserver.JmxMBeanServer@12d3a4e9, but no JMX reporters were configured - adding default JMX reporter.
2020-03-03 07:11:28.730 ERROR (main) [   ] o.a.s.s.SolrDispatchFilter Could not start Solr. Check solr/home property and the logs
2020-03-03 07:11:28.775 ERROR (main) [   ] o.a.s.c.SolrCore null:org.apache.solr.common.SolrException: Unknown configuration value in solr.xml: maxBooleanClauses
        at org.apache.solr.core.SolrXmlConfig.fillSolrSection(SolrXmlConfig.java:279)
        at org.apache.solr.core.SolrXmlConfig.fromConfig(SolrXmlConfig.java:109)
        at org.apache.solr.core.SolrXmlConfig.fromInputStream(SolrXmlConfig.java:140)
        at org.apache.solr.core.SolrXmlConfig.fromFile(SolrXmlConfig.java:122)
        at org.apache.solr.core.SolrXmlConfig.fromSolrHome(SolrXmlConfig.java:150)
        at org.apache.solr.servlet.SolrDispatchFilter.loadNodeConfig(SolrDispatchFilter.java:285)
        at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:251)
        at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:173)
        at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:136)
        at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:750)
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
        at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
        at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)
        at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:368)
        at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:852)
        at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:278)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
        at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:192)
        at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:505)
        at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:151)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
        at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:453)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
        at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
        at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
        at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
        at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:579)
        at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:240)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
        at org.eclipse.jetty.server.Server.start(Server.java:415)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
        at org.eclipse.jetty.server.Server.doStart(Server.java:382)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1572)
        at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1512)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1511)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
        at org.eclipse.jetty.start.Main.start(Main.java:490)
        at org.eclipse.jetty.start.Main.main(Main.java:77)

2020-03-03 07:11:28.799 INFO  (main) [   ] o.e.j.s.h.ContextHandler Started o.e.j.w.WebAppContext@76f2bbc1{/solr,file:///opt/solr-7.7.2/server/solr-webapp/webapp/,AVAILABLE}{/opt/solr-7.7.2/server/solr-webapp/webapp}
2020-03-03 07:11:28.816 INFO  (main) [   ] o.e.j.s.AbstractConnector Started ServerConnector@39d76cb5{HTTP/1.1,[http/1.1]}{0.0.0.0:8983}
2020-03-03 07:11:28.816 INFO  (main) [   ] o.e.j.s.Server Started @1947ms


maximice
() автор топика
Ответ на: комментарий от Pinkbyte

Да уже неактуально. Спасибо за ответ. В итоге для меня самым простым оказался ftc-elastic https://github.com/filiphanes/fts-elastic На одном почтовике точно взлетело все, ищется моментально. А вот на другом также поднял и пока не отрабатывает, буду разбираться.

maximice
() автор топика
Ответ на: комментарий от Pinkbyte

Дабы не плодить тему, продолжу вопросы тут ) Поставил ftc-elastic. Проиндексировал ящики, но почему-то не отрабатывает поиск по телу сообщения и соответственно по всему сообщению. Другие варианты поиска отрабатываю моментально, то есть если я выбираю искать по теме, на ящик в более 10 000 сообщений уходят секунды, на тело сообщения он все также не ищет, уходит в бесконечный поиск. В какую сторону копать ? В логах fts только индексация сама.

maximice
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.