Commit Graph

3798 Commits

Author SHA1 Message Date
luccioman
aa9ddf3c23 Added control over Robots.txt active threads maximum number.
When starting a crawl from a file containing thousands of links,
configuration setting "crawler.MaxActiveThreads" is effective to prevent
saturating the system with too many outgoing HTTP connections threads
launched by the crawler.
But robots.txt was not affected by this setting and was indefinitely
increasing the number of concurrently loading threads until most ot the
connections timed out.

To improve performance control, added a pool of threads for Robots.txt,
consistently used in its ensureExist() and massCrawlCheck() methods.
The Robots.txt threads pool max size can now be configured in the
/PerformanceQueus_p.html page, or with the new
"robots.txt.MaxActiveThreads" setting, initialized with the same default
value as the crawler.
2016-11-23 18:13:05 +01:00
luccioman
3092a8ced5 Fixed thread name consistency for improved monitoring.
Some tasks were modifying the current thread name without restoring it
once finished as it is effectively done elsewhere.
2016-11-23 17:59:52 +01:00
luccioman
eec5779889 Added a name prefix to pooled threads for easier monitoring.
Using JVM monitoring tools, it is then easier to identify tasks running
inside thread pool with a custom prefix rather than the generic one :
"pool-".
2016-11-23 11:21:14 +01:00
reger
59130777a6 add high scored items first to YearNavigator (to make sure to be included
in sorted view)
2016-11-22 01:17:33 +01:00
luccioman
0ba5a838f7 Added charset meta to Solr HTML writers.
Non-ASCII characters are thus correctly rendered in browsers.
This is a fix ro mantis 706 : http://mantis.tokeek.de/view.php?id=706
2016-11-21 19:55:13 +01:00
reger
08a0acc35d make a YearNavigator availabel, useable as SearchEvent.naviator plugin.
It can take any Date field of the index and displays a list of year strings
in reverse order by the year (not the score/count).
To allow to define the index field to use, the fieldname (and title can be 
appended to the navi's name "year" e.g. year:load_date_dt:LoadDate
It works also with dates_in_content_dts field (from the graphical date
navigator). Here the query parameter from: to: are used on selection as
Query modifier (for other dates currently no query parameter available, so
selection won't work to filter search results).
Not included in the UI Searchpage layout config so far (for experiment with
it manual change to conf needed).
2016-11-21 16:52:53 +01:00
reger
7742579ca4 make a LanguageNavigator availabel, useable for the SearchEvent.naviator
plugin (not activated yet).
2016-11-21 00:19:11 +01:00
reger
0d3bef659b implement RequestHeader.setCharacterEncoding for legacy header,
make sure .getProtocol returns a http version
move the patch for Set-Cookie to ResponseHeader (applies only here)
2016-11-20 19:30:38 +01:00
Michael Peter Christen
5320209963 Merge branch 'master' of https://github.com/yacy/yacy_search_server.git 2016-11-20 12:13:07 +01:00
Michael Peter Christen
83f5e3d715 added+disabled a federate search experiment 2016-11-20 12:13:00 +01:00
reger
4eeb448eb3 use DigestURL in UrlProxyServlet as parameter to pass requested url to
handler.
UrlProxyServlet splits url in parts to pass it on as parameter and 
HeaderFramework constructs a url from param parts. This is obsolete if
already created url is used (makes HeaderFramework.getRequestURL obsolete
= removed)
2016-11-20 05:27:33 +01:00
reger
bad8f87998 remove old/obsolete clear text "adminAccount" credential entry from init
and setConfig (.,empty) from servlets/code
2016-11-20 00:20:47 +01:00
reger
811cf637f8 fix Jetty9YaCySecurityHandler, length check of Basic credential,
add comment to SwitchboardConstants.AdminAccount const
2016-11-20 00:15:21 +01:00
reger
fdcf33f08f fix Domain.stripToHostName for some IPv6 cases
add unit test for it
2016-11-19 16:37:16 +01:00
reger
ac6e198bd1 add unit test for Domains.stripToPort,
simplify ipv6 check
2016-11-19 06:22:55 +01:00
reger
f27531f5ec fix Domains.stripToPort, make ipv6 save 2016-11-19 05:56:48 +01:00
reger
67744a8038 fix HeaderFramework.getRequestURL on host with port considering ipv6 host 2016-11-19 05:08:11 +01:00
reger
66cc0dd173 refactor: move GSA specific date formatter to GSAservlet
adjust return type to String for HeaderFrameWork.getSingle
2016-11-19 03:29:23 +01:00
reger
d525967999 refactor: move convertHeaderFromJetty to ProxHandler (only used with active proxy
not needed for standard servlets)
2016-11-19 02:10:21 +01:00
reger
60ba5c117c fix legacy getHeaderCookies to work with cookies from original
HttpServletRequest, by moving to RequestHeader.
2016-11-18 21:44:16 +01:00
reger
30f8d1e2d7 let RequestHeader.logout succeed w/o throwing exception by default 2016-11-18 03:00:30 +01:00
reger
28afd3a2f8 fix UserDB.proxyAuth from header string
(take care of prefix "Basic" in header entry)
2016-11-18 01:12:14 +01:00
luccioman
0806de8fdc Ensure file input stream are closed in both normal and error cases. 2016-11-16 15:13:58 +01:00
luccioman
a0dfbaca6a FileUtils : added some JavaDocs and unit test cases 2016-11-16 15:12:21 +01:00
reger
59448461d3 make use of userInRole for quick login verification 2016-11-16 01:42:53 +01:00
reger
2a4d826d9e adjust servlet RequestHeader.getLocale
init jvm defaultLocale matching UI language
2016-11-15 02:37:03 +01:00
reger
9db68acb4f remove obsolete X_YACY... header declarations
not in use (no writes, only remove and try to read).
Obsolete parameter setupHttpClient
2016-11-14 22:53:26 +01:00
reger
8e9aece786 more use of RequestHeader constant referer, authorization
in Jetty9YaCySecurityHandler
2016-11-14 04:49:30 +01:00
reger
d631fbc019 make more use of the new ServletRequest interface methodes
getScheme, getServerPort (in QuickCrawlLink_p & YaCyDefaultServlet)
2016-11-14 03:01:15 +01:00
reger
395f2e8946 Make ServletRequest implement the standardized HttpServletRequest interface,
to make all readily available information from the original ServletRequest
available to YaCy servlets (without converting data to internal structures).
The implementation of the common interface allows easier integration of
YaCy servlets with the servlet standard (e.g. shared login service with
the servlet container etc.)
2016-11-14 01:37:16 +01:00
luccioman
74fec066f4 Converted more URLs to pure relative ones.
Easier YaCy peer configuration behind a reverse proxy subfolder : no
need for the reverse proxy to rewrite HTML links or URLs in css files.

Tested on Debian Jessie with an apache2 reverse proxy.

See related mantis issues http://mantis.tokeek.de/view.php?id=106 and
http://mantis.tokeek.de/view.php?id=701
2016-11-12 10:51:54 +01:00
luccioman
0f0393e5e3 Merge branch 'master' of https://github.com/yacy/yacy_search_server.git 2016-11-09 02:40:52 +01:00
luccioman
7296e3884f Switched even more URLs to pure relative ones.
Thus a YaCy peer can run behind a reverse proxy subfolder without need
for the reverse proxy to rewrite HTML links (a CPU costly operation).

Tested on Debian Jessie with an apache2 reverse proxy.

See related mantis issues http://mantis.tokeek.de/view.php?id=106 and
http://mantis.tokeek.de/view.php?id=701
2016-11-09 02:40:33 +01:00
reger
49eae79c01 fix Tables.hasIndex check for tablename = key
apply same functionality to hasHeap (to not create new table on call hasHeap)
2016-11-09 02:33:42 +01:00
luccioman
84b81c1af0 Switched more URLs to relative ones when possible.
This permits an easier and more flexible reverse proxy configuration.
Some related mantis issues : http://mantis.tokeek.de/view.php?id=106 and
http://mantis.tokeek.de/view.php?id=701
2016-11-08 03:05:51 +01:00
luccioman
731684105a Improved absolute URLs rendering in OpenSearch desc and RSS feeds.
When the peer is behind a reverse proxy providing SSL/TLS encryption,
the rendered absolute URLs should start with https when the user browser
requested https : added limited support to the X-Forwarded-Proto HTTP
header notably provided on Heroku platform.
Also added some unit tests.
2016-11-08 02:39:45 +01:00
reger
669f60223e upd Column.toString to output encoder "{bytes}"
used for String and binary Column types
2016-11-06 21:02:58 +01:00
reger
c9e81d2fa0 fix Column parsing from celldefinition string, without cellwidth def.
(outofbound exception)
2016-11-06 03:34:24 +01:00
reger
e0816ef2e5 use human readable date format in CrawlStacker error message
"double in: local index, oldDate = "
2016-11-05 19:40:14 +01:00
luccioman
54d879a9b3 Generate HTML relative (to each peer) links from hosted WikiCode.
When WikiCode inserted in a peer hosted Blog, Wiki, Messages or Profile
contains relative links (images or any content, hosted in DATA/HTDOCS),
it is more reliable to keep these links relative, especially when the
peer is behind any kind of reverse Proxy.
2016-11-04 11:21:20 +01:00
luccioman
2da5f339f8 Fixed /News.html and /Wiki.html pages in Search Portal mode (issue #87).
Also fixes theses pages rendering when the peer is not online.

Re-factored code in common with /opensearchdescription.xml and
ConfigPortal.html.
2016-11-03 02:33:36 +01:00
reger
8fe28a83f2 harmonize used lastmodified date for rwi and fulltext in storeDocument 2016-11-02 03:43:39 +01:00
reger
3d1d297308 refactor namespace navigator as part of navigatorplugin map, this allows
the navigator to include counts all matches (rwi+fulltext).
Fixing also unresolved_pattern in navigators title (of the counter)
The use of inurl: query modifier as filter has not been changed keeping
it as soft (unsharp) filter facet.

Upd StringNavigator to prevent empty string form multivalued solr fields,
removed date value conversion (better handled elsewhere, not need here).
2016-11-01 04:38:47 +01:00
reger
67f660523b Make navigators underlaying indexfield name accessible in interface
use interface in declaration and extend facet check to include navigator
field.
2016-10-31 18:42:23 +01:00
reger
5eb3ee4e20 Add search navigator interface to allow for additional navigators (plugins)
Prepared the first basic navigators (for authors and collections) for the
list of SearchEvent.navigatorPlugins and adjusted servlet to use these.
- this allows to configure display order of these navigators (by ordering config string)
- eventually allows for additional and/or custom navigators using any
available index field without need for changing servlets
- the Collection navigation has been adjusted to exclude the internal, 
default robot_*  and dht collections from displaying
- rwi results are now also checked for navigatior by the refactored navi's

So far no config options were added to customize or add navigators (may
come later if route of upcoming modularization/plugin system is defined).
2016-10-31 02:17:43 +01:00
reger
fd3f58fcaa improve query modifier parsing of "collection:" and possible collision
with "on:" in case multiple collection modifier were entered (by mistake)
http://mantis.tokeek.de/view.php?id=702
2016-10-31 00:43:01 +01:00
reger
af39a76bf6 Reduce number of default max. search navigator lines (from 10000)
to 100 + make it configurable
2016-10-29 04:19:46 +02:00
reger
20a1b29ed3 add simple test case for ReferenceContainer helpful for debugging
calculated ranking parameter
2016-10-26 01:38:40 +02:00
reger
3c7220bc7b Refacture rwi reference word position and word distance calculation
used for rwi ranking.
Main changes:  
- introduce a  posintext() to access the stored value. This reduces also mem alloc of position array for WordReferenceRow (index access)
- use the positions() array for joined references on multi-word queries if needed (otherwise allow positions() to be null
- adjust assignments and the min() max() and distance() calculation accordingly
2016-10-23 19:40:02 +02:00
luccioman
f0639d810c Customized name for Threads still using the default "Thread-n" pattern.
This makes threads monitoring easier to read.
2016-10-22 17:17:21 +02:00