Extension talk:CirrusSearch/2014
This page used the LiquidThreads extension to give structured discussions. It has since been converted to wikitext, so the content and history here are only an approximation of what was actually displayed at the time these comments were made. |
Failed opening required FunctionScore.php
Lsilverman (talk) 20:27, 6 January 2014 (UTC)
MW 1.22, PHP 5.3.3, RHEL5
Followed the current installation instructions and the README below CirrusSearch/. Indexing went fine.
Upon querying in the MW search box, I got a blank page. Apache error log contains: [Mon Jan 06 20:12:18 2014] [error] [client 73.50.11.157] PHP Fatal error: require(): Failed opening required '/usr/local/devmediawiki-1.22.0/w/extensions/Elastica/Elastica/lib/Elastica/Query/FunctionScore.php' (include_path='/usr/local/devmediawiki-1.22.0/w:/usr/local/devmediawiki-1.22.0/w/includes:/usr/local/devmediawiki-1.22.0/w/languages:.:/usr/share/pear:/usr/share/php') in /usr/local/devmediawiki-1.22.0/w/includes/AutoLoader.php on line 1191, referer: https://dev.trackabout.com/wiki/Special:Version
Indeed, there's no such file FunctionScore.php in the folder:
[root@ta-linux1v Query]# pwd /usr/local/devmediawiki/w/extensions/Elastica/Elastica/lib/Elastica/Query [root@ta-linux1v Query]# ls -l total 144 -rw-r--r-- 1 root root 261 Jul 10 07:43 AbstractQuery.php -rw-r--r-- 1 root root 2509 Jul 10 07:43 Bool.php -rw-r--r-- 1 root root 20683 Jul 10 07:43 Builder.php -rwxr-xr-x 1 root root 3923 Jul 10 07:43 Common.php -rw-r--r-- 1 root root 1201 Jul 10 07:43 ConstantScore.php -rw-r--r-- 1 root root 3383 Jul 10 07:43 CustomFiltersScore.php -rw-r--r-- 1 root root 1662 Jul 10 07:43 CustomScore.php -rw-r--r-- 1 root root 1972 Jul 10 07:43 Field.php -rw-r--r-- 1 root root 2030 Jul 10 07:43 Filtered.php -rw-r--r-- 1 root root 3996 Jul 10 07:43 FuzzyLikeThis.php -rw-r--r-- 1 root root 2663 Jul 10 07:43 Fuzzy.php -rw-r--r-- 1 root root 1581 Jul 10 07:43 HasChild.php -rw-r--r-- 1 root root 1539 Jul 10 07:43 HasParent.php -rw-r--r-- 1 root root 2614 Jul 10 07:43 Ids.php -rw-r--r-- 1 root root 430 Jul 10 07:43 MatchAll.php -rw-r--r-- 1 root root 4433 Jul 10 07:43 Match.php -rw-r--r-- 1 root root 4230 Jul 10 07:43 MoreLikeThis.php -rw-r--r-- 1 root root 1666 Jul 10 07:43 MultiMatch.php -rw-r--r-- 1 root root 1070 Jul 10 07:43 Nested.php -rw-r--r-- 1 root root 1372 Jul 10 07:43 Prefix.php -rw-r--r-- 1 root root 7596 Jul 10 07:43 QueryString.php -rw-r--r-- 1 root root 929 Jul 10 07:43 Range.php -rw-r--r-- 1 root root 1042 Jul 10 07:43 Simple.php -rw-r--r-- 1 root root 1355 Jul 10 07:43 Term.php -rw-r--r-- 1 root root 2262 Jul 10 07:43 Terms.php -rw-r--r-- 1 root root 2013 Jul 10 07:43 Text.php -rw-r--r-- 1 root root 1379 Jul 10 07:43 TopChildren.php -rw-r--r-- 1 root root 1096 Jul 10 07:43 Wildcard.php
Thanks. Lsilverman (talk) 20:27, 6 January 2014 (UTC)
- Were you able to resolve this? I ran into a similar error. CJGarner (talk) 22:53, 3 February 2014 (UTC)
- No. I had to revert back to using SphinxSearch until I can get time to troubleshoot it (or the problem "fixes itself"). Lsilverman (talk) 22:54, 3 February 2014 (UTC)
- The packaged extension may be outdated. The missing file is in the Elastica Github repo. My error was fixed after adding it manually.
- https://github.com/ruflin/Elastica/blob/master/lib/Elastica/Query/FunctionScore.php CJGarner (talk) 22:56, 3 February 2014 (UTC)
- I was able to get CirrusSearch/Elastica running using the latest code from github (origin/master). Was not able to get it working using the REL1_22 branches. It also would NOT work with Elasticsearch 1.0.x. I had to install the 0.90.11 release. Lsilverman (talk) 16:23, 24 February 2014 (UTC)
- Sorry about that. I'm not doing a good job keeping those branches up to date. I'll go update them now.
- Also, I just added 1.0 support (10 seconds ago) so it'll work on both. I'll probably drop support for 0.90 in a couple of weeks unless I hear objections here. NEverett (WMF) (talk) 17:26, 26 February 2014 (UTC)
- Branch updated. You should be able to use the REL1_22 branch of both Elastica and Cirrus with mediawiki 1.22. It should work with Elasticsearch 1.0 though I have to admin I verified it against 0.90.10 because that is what I had running on the machine. I did, though, verify the master branch against 1.0 right before merging it to REL1_22 so I'm reasonably confident. NEverett (WMF) (talk) 20:15, 26 February 2014 (UTC)
- Thank you! I just switched to REL1_22 branches for both Elastica and CirrusSearch. They worked right away against my 0.90.10 instance. Nice work. When I have time I'll upgrade to 1.0 and try it out again. Lsilverman (talk) 21:28, 26 February 2014 (UTC)
- I warn you I'll probably drop support for 0.90 pretty soon. Likely the next time I make an update to the REL1_22 branches I'll drop the support. I'll do this because:
- Elastica v1.0.0.0 doesn't support 0.90 and some folks want that
- Elasticsearch 1.0 has multiple rescores which are really yummy from a performance standpoint. Or they should be, at least. They ought to kill the last of the degenerate long queries I see in the logs (>10 seconds!.)
- I think most users outside of WMF will be able to upgrade pretty easily. Please let me know if that'd cause you a hardship though. NEverett (WMF) (talk) 15:20, 28 February 2014 (UTC)
- I'm planning to update very soon, so (1) thank you for your kind consideration and (2) don't worry about it! Lsilverman (talk) 18:56, 28 February 2014 (UTC)
- I warn you I'll probably drop support for 0.90 pretty soon. Likely the next time I make an update to the REL1_22 branches I'll drop the support. I'll do this because:
- Thank you very muck Nik, almost no extension actively maintains the RELX_Y branches, you're exemplary. :) Nemo 22:23, 6 March 2014 (UTC)
- Thank you! I just switched to REL1_22 branches for both Elastica and CirrusSearch. They worked right away against my 0.90.10 instance. Nice work. When I have time I'll upgrade to 1.0 and try it out again. Lsilverman (talk) 21:28, 26 February 2014 (UTC)
- Branch updated. You should be able to use the REL1_22 branch of both Elastica and Cirrus with mediawiki 1.22. It should work with Elasticsearch 1.0 though I have to admin I verified it against 0.90.10 because that is what I had running on the machine. I did, though, verify the master branch against 1.0 right before merging it to REL1_22 so I'm reasonably confident. NEverett (WMF) (talk) 20:15, 26 February 2014 (UTC)
- I was able to get CirrusSearch/Elastica running using the latest code from github (origin/master). Was not able to get it working using the REL1_22 branches. It also would NOT work with Elasticsearch 1.0.x. I had to install the 0.90.11 release. Lsilverman (talk) 16:23, 24 February 2014 (UTC)
- No. I had to revert back to using SphinxSearch until I can get time to troubleshoot it (or the problem "fixes itself"). Lsilverman (talk) 22:54, 3 February 2014 (UTC)
Search inside uploaded documents
- Question: Can this extention search inside documents which have been uploaded to the wiki like PDF's? Xaris (talk) 09:59, 11 January 2014 (UTC)
- Yes, this is possible since gerrit:101252 that resolved bugzilla:6421. See also the first item in m:Tech/News/2014/01. Ricordisamoa 20:22, 14 January 2014 (UTC)
- I've just backported most of the features in Cirrus' master branch to the REL1_22 branch, including this. If you want to try it make sure to get the new version of the Elastica plugin on its REL1_22 branch as well and rebuild your index. NEverett (WMF) (talk) 20:14, 26 February 2014 (UTC)
- I've been working on a method that parses document files (PDFs, Word, PPT, etc.) using Tika to extract the document text, and then re-insert the extracted text into the file_text field of the WIKI_general_first index inside Elasticsearch. On this point, I have a couple of questions:
- 1) Does this sound like the proper method to provide searchable text from documents in CirrusSearch?
- 2) Has anyone else done anything similar?
- On point 2, the reason I ask is that for some documents I'm extracting text from, the resulting text can be huge (100s of MBs) and can grind the search to a hault for some queries (mostly for terms which there aren't many of inside the index).
- Any pointers would be greatly appreciated. Chris d edge (talk) 13:57, 26 March 2015 (UTC)
- There is a working extension for this that I have been using for years: https://www.mediawiki.org/wiki/Extension_talk:FileIndexer#Resubmit
- --SmartK (talk) 15:32, 26 March 2015 (UTC)
- Yes, this is possible since gerrit:101252 that resolved bugzilla:6421. See also the first item in m:Tech/News/2014/01. Ricordisamoa 20:22, 14 January 2014 (UTC)
- Hello Everyone,
- I have just added the extension CirrusSearch with all the dependencies. I am not able to search through PDF, txt and, docx. Please help!
- Regards, 173.164.76.121 (talk) 22:51, 28 December 2016 (UTC)
- I am also not able to index documents. I have Image Authorization configured. Dgennaro 19:47, 25 January 2017 (UTC)
- I got PDF search working but not for *.doc files (PDF search works on MW 1.26.2 and MW 1.28.2). You need at least to
- set up elasticsearch with „Mapper Attachments Plugin“ (for ElasticSearch 1.x (below version REL1_28) + elasticsearch-mapper-attachments version 2.7.1, ElasticSearch 2.x since REL1_28 + plugin manager will autodetect the right version of mapper-attachments)
- activate Extension:PdfHandler
- build the index exactly as the README of Extension:CirrusSearch documents it
- Does anybody have a solution for searching inside *.doc files yet?
- Did I miss some configuration to set up?
- Would it need an FileHandler for doc files to get it working? Andreas P.
12:35, 21 July 2017 (UTC)
- Does anyone know how to do this with elasticsearch 5.5 and Mediawiki 1.29.0 (MW1.29 does now require elasticseach 5 and higher). The mapper-attachments have been depreciated. The new thing is: "ingest attachment plugin". See here: https://www.elastic.co/guide/en/elasticsearch/plugins/5.5/ingest-attachment.html SmartK (talk) 14:04, 16 August 2017 (UTC)
- The Extension:ExtendedSearch of BlueSpice 3.0 offers full-text search in articles and files (i.e. Microsoft Office documents & PDF files) via Elasticsearch 6+ and the Ingest Attachment Processor Plugin S0ring (talk) 17:25, 10 July 2019 (UTC)
- A new option: Extension:TikaAllTheFiles. This extension uses Tika to do content extraction (text and/or metadata), and provides the content to CirrusSearch for indexing. CtapMaddog (talk) 17:04, 14 December 2021 (UTC)
Installing extensions
Hi how can I install this extension if I am on a. Free host and i doint have access to install programs or scripts on the server I am using so how can I install this extension and the elastic search. Do I ask for elastic search to be installed. 86.135.251.105 12:31, 2 February 2014 (UTC)
- Do you have shell access to start with? But yes, you'll need to ask them to install elasticsearch (no other dependencies are listed , I hope it's enough but I'm not sure) and they'll need to figure out how to make it work for multiple users if it's a shared server. Nemo 14:45, 3 February 2014 (UTC)
Can't create index
MW 1.22.2, REL1_22 releases of both Elastica and CirrusSearch. ElasticSearch 1.0. Single server, single instance of ElasticSearch.
I'm stuck trying to create my very first search index config. It seems to be pulling a null value for index.number_of_shards.
# php updateSearchIndexConfig.php content index... Infering index identifier...devmediawiki_content_ Index exists so validating... Validating number of shards...PHP Notice: Undefined index: index.number_of_shards in /usr/local/devmediawiki-1.22.2/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 183 is but should be 4...cannot correct! Number of shards is incorrect and cannot be changed without a rebuild. You can solve this problem by running this program again with either --startOver or --reindexAndRemoveOk. Make sure you understand the consequences of either choice.. This script will now continue to validate everything else.
The suggestions --startOver and --reindexAndRemoveOk don't work either.
# php updateSearchIndexConfig.php --startOver content index... Infering index identifier...devmediawiki_content_ Blowing away index to start over...ok Validating analyzers...different...cannot correct This script encountered an index difference that requires that the index be closed, modified, and then reopened. To allow this script to close the index run it with the --closeOk parameter and it'll close the index for the briefest possible time Note that the index will be unusable while closed.
And --closeOk doesn't seem to do anything. Lsilverman (talk) 04:49, 21 February 2014 (UTC)
- Uninstalled ElasticSearch 1.0 and installed 0.90.11 and things seem to be working now. Wild guess, but perhaps the PHP API version bundled with Elastica is for the 0.90.11 version. Lsilverman (talk) 04:52, 21 February 2014 (UTC)
- Hm, README says nothing yet. Nemo 08:27, 24 February 2014 (UTC)
- Sorry, yeah, I just added 1.0 support like a minute ago. I'll go update the REL1_22 branch and the readme now. NEverett (WMF) (talk) 17:27, 26 February 2014 (UTC)
- REL1_22 is updated. NEverett (WMF) (talk) 20:16, 26 February 2014 (UTC)
- I am having the very same issue. Tried with a couple of different ElasticSearch versions to no avail. Any ideas? 185.31.48.30 12:43, 3 June 2014 (UTC)
- Hi,
- We have the same problem when installing CirrusSearch. We have installed Elasticsearch 1.0, Elastica 0.1 and CirrusSearch 0.2. Is there a solution for this problem? Xaris (talk) 09:41, 19 June 2014 (UTC)
- Experiencing the same issues, updated mediawiki to 1.23, php to 5.3.8, CirrrusSearch is most current stable, tried elasticsearch 0.90.13, 1.0.2, 1.1.0, 1.1.1, and 1.2.1.
- All variations give the same results, "Validating analyzers...PHP Notice: Undefined index: analysis in CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 318". Jamspc (talk) 18:38, 25 June 2014 (UTC)
- Experiencing the same issues here, new Mediawiki 1.24wmf10, PHP 5.5.9, Elastica and CirrusSearch are most current development version, installed DEB packet of Elasticsearch 1.2.1 on Ubuntu 14.04 Server.
- Gives the same error as mentioned above: "Validating analyzers...PHP Notice: Undefined index: analysis in /var/www/test/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 318". It just says "An error has occurred while searching: We could not complete your search due to a temporary problem. Please try again later." I tried later, but of no use.
- All my troubles disappeared, when I added the following line to file "/etc/elasticsearch/elasticsearch.yml":
- script.disable_dynamic: false
- See http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_enabling_dynamic_scripting (section "enabling dynamic scripting"). Takemyname (talk) 21:08, 25 June 2014 (UTC)
- Unfortunately Cirrus requires dynamic scripting at this point. Its too nice a crutch for us. We're going to switch to fully sandboxed scripting when we upgrade to 1.3.1. Its in the README, but I know that isn't much of a consolation. I've added bugzilla:68804 to make the failures more clear. NEverett (WMF) (talk) 15:03, 29 July 2014 (UTC)
- I am having the very same issue. Tried with a couple of different ElasticSearch versions to no avail. Any ideas? 185.31.48.30 12:43, 3 June 2014 (UTC)
- REL1_22 is updated. NEverett (WMF) (talk) 20:16, 26 February 2014 (UTC)
- Sorry, yeah, I just added 1.0 support like a minute ago. I'll go update the REL1_22 branch and the readme now. NEverett (WMF) (talk) 17:27, 26 February 2014 (UTC)
- Hm, README says nothing yet. Nemo 08:27, 24 February 2014 (UTC)
How does CirrusSearch refresh the index?
Does CirrusSearch take care of keeping the index of pages up-to-date or is there a maintenance script that should be run on a regular basis? Say, via a cron job. Ckoerner (talk) 15:29, 7 March 2014 (UTC)
- The former or both: it uses the job queue, so it's just the standard runJobs.php that you should already have running. Nemo 09:10, 8 March 2014 (UTC)
- Yup, job queue. If you import pages or some how sneak them in you can run the same script that you used to populate the index in the first place to rebuild the index or just specific pages. You could also do that if you had to declare bankruptcy on the job queue backlog and just wanted to make sure everything was updated. NEverett (WMF) (talk) 17:36, 12 March 2014 (UTC)
- My index seems to never update, I always have to manually run runJobs.php whereas I would prefer it to be real-time. Is there some additional configuration that needs to be added? I'm just using a scheduled task for now. 70.140.244.112 20:17, 24 July 2014 (UTC)
- It _should be_ that MediaWiki runs jobs on every page load by default. That is how I test Cirrus when I work on it day to day. In production we schedule processes just to run jobs so they don't bother web requests. NEverett (WMF) (talk) 14:59, 29 July 2014 (UTC)
- I still have problems that on some wikis (e.g. 1.22.x and 1.23.x) the index is not updated, only after i run the "maintenance/runJobs.php" script manually. How could I find out why the index is not updating automatically? SmartK (talk) 08:53, 11 August 2014 (UTC)
- Is your wiki running the job queue? Set up a cron. Manual:Job queue. Nemo 08:58, 11 August 2014 (UTC)
- I still have problems that on some wikis (e.g. 1.22.x and 1.23.x) the index is not updated, only after i run the "maintenance/runJobs.php" script manually. How could I find out why the index is not updating automatically? SmartK (talk) 08:53, 11 August 2014 (UTC)
- It _should be_ that MediaWiki runs jobs on every page load by default. That is how I test Cirrus when I work on it day to day. In production we schedule processes just to run jobs so they don't bother web requests. NEverett (WMF) (talk) 14:59, 29 July 2014 (UTC)
- My index seems to never update, I always have to manually run runJobs.php whereas I would prefer it to be real-time. Is there some additional configuration that needs to be added? I'm just using a scheduled task for now. 70.140.244.112 20:17, 24 July 2014 (UTC)
- Yup, job queue. If you import pages or some how sneak them in you can run the same script that you used to populate the index in the first place to rebuild the index or just specific pages. You could also do that if you had to declare bankruptcy on the job queue backlog and just wanted to make sure everything was updated. NEverett (WMF) (talk) 17:36, 12 March 2014 (UTC)
Request error
I've an error when i'm doing some research with CirrusSearch activated. I've installed Elastica extension, elasticsearch 1 and before 0.90.11 as tipped by Lsilverman and CirrusSearch via git version and before distributed version to try. The population of the data into elasticsearch is working, I'm visualizing this informations via _head plugin of elasticsearch.
The error is the following in elasticsearch.log :
org.elasticsearch.search.SearchParseException: [pre_mediawiki_content][3]: query[filtered(((title.plain:test^20.0 | heading.plain:test^5.0 | text.plain:test | file_text.plain:test^0.8 | title:test^10.0 | heading:test^2.5 | text:test^0.5 | file_text:test^0.4) title.near_match:test)~1)->cache(namespace: )],from[-1],size[-1]: Parse Failure [Failed to parse source [{"fields":["id","title","namespace","timestamp","text_bytes","text.word_count"],"script_fields":{"redirect":{"script":"_source[ \"redirect\" ]"}},"query":{"filtered":{"query":{"bool":{"minimum_number_should_match":1,"should":[{"query_string":{"query":"test","fields":["title.plain^20","heading.plain^5","text.plain^1","file_text.plain^0.8","title^10","heading^2.5","text^0.5","file_text^0.4"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}},{"query_string":{"query":"test","fields":["title.near_match^40"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}}]}},"filter":{"terms":{"namespace":[0]}}}},"highlight":{"order":"score","pre_tags":["<span class=\"searchmatch\">"],"post_tags":[""],"fields":{"title":{"number_of_fragments":0,"type":"fvh","matched_fields":["title","title.plain"]},"text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","no_match_size":100,"matched_fields":["text","text.plain"]},"file_text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","matched_fields":["file_text","file_text.plain"]},"redirect.title":{"number_of_fragments":1,"fragment_size":10000,"type":"plain"},"heading":{"number_of_fragments":1,"fragment_size":10000,"type":"plain"},"redirect.title.plain":{"number_of_fragments":1,"fragment_size":10000,"type":"plain"},"heading.plain":{"number_of_fragments":1,"fragment_size":10000,"type":"plain"}}},"suggest":{"text":"test","title":{"phrase":{"field":"title.suggest","size":1,"max_errors":2,"confidence":2,"direct_generator":[{"field":"title.suggest","suggest_mode":"always","max_term_freq":0.5}],"highlight":{"pre_tag":"","post_tag":""}}}},"stats":["suggest","full_text"],"size":20,"rescore":{"window_size":8192,"query":{"rescore_query":{"function_score":{"functions":[{"script_score":{"script":"log10((doc['incoming_links'].isEmpty() ? 0 : doc['incoming_links'].value) + 2)"}}]}},"query_weight":1,"rescore_query_weight":1,"score_mode":"multiply"}}}]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:581) at org.elasticsearch.search.SearchService.createContext(SearchService.java:484) at org.elasticsearch.search.SearchService.createContext(SearchService.java:469) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:462) at org.elasticsearch.search.SearchService.executeDfsPhase(SearchService.java:168) at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteDfs(SearchServiceTransportAction.java:168) at org.elasticsearch.action.search.type.TransportSearchDfsQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchDfsQueryThenFetchAction.java:85) at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216) at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203) at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: org.elasticsearch.ElasticSearchIllegalArgumentException: No mapping found for field [title.suggest] at org.elasticsearch.search.suggest.phrase.PhraseSuggestParser.parseCandidateGenerator(PhraseSuggestParser.java:286) at org.elasticsearch.search.suggest.phrase.PhraseSuggestParser.parse(PhraseSuggestParser.java:96) at org.elasticsearch.search.suggest.SuggestParseElement.parseInternal(SuggestParseElement.java:90) at org.elasticsearch.search.suggest.SuggestParseElement.parse(SuggestParseElement.java:48) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:569) ... 12 more
when I remove the ".suggest" part of the request, it's a valid request for elasticsearch.
"suggest": { "text": "test", "title": { "phrase": { "field": "title", // instead of "title.suggest" "size": 1, "max_errors": 2, "confidence": 2, "direct_generator": [ { "field": "title", // instead of "title.suggest" "suggest_mode": "always", "max_term_freq": 0.5 } ], "highlight": { "pre_tag": "", "post_tag": "" } } } },
When I remove the ".suggest" part in include/Search.php line 488
self::SUGGESTION_NAME_TITLE => $this->buildSuggestConfig( 'title' )
I get this error :
[2014-03-11 09:41:03,176][DEBUG][action.search.type ] [Shen Kuei] [993] Failed to execute fetch phase org.elasticsearch.ElasticSearchIllegalArgumentException: the field [title] should be indexed with term vector with position offsets to be used with fast vector highlighter at org.elasticsearch.search.highlight.FastVectorHighlighter.highlight(FastVectorHighlighter.java:68) at org.elasticsearch.search.highlight.HighlightPhase.hitExecute(HighlightPhase.java:117) at org.elasticsearch.search.fetch.FetchPhase.execute(FetchPhase.java:197) at org.elasticsearch.search.SearchService.executeFetchPhase(SearchService.java:434) at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteFetch(SearchServiceTransportAction.java:406) at org.elasticsearch.action.search.type.TransportSearchDfsQueryThenFetchAction$AsyncAction.executeFetch(TransportSearchDfsQueryThenFetchAction.java:249) at org.elasticsearch.action.search.type.TransportSearchDfsQueryThenFetchAction$AsyncAction$5.run(TransportSearchDfsQueryThenFetchAction.java:233) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Nrm (talk) 08:44, 11 March 2014 (UTC)
- I believe we solved this on IRC but we didn't track down the exact cause. Starting the instructions in the README over again seemed to do the trick. I *think* this is caused by skipping the
php $MW_INSTALL_PATH/extensions/CirrusSearch/maintenance/updateSearchIndexConfig.php
step but I can't be sure now that the problem is gone. NEverett (WMF) (talk) 17:34, 12 March 2014 (UTC)- To respond to that, the instruction on README were followed, without success, I had the error described in "Can't create index" in this page with elasticsearc 1.0 in first. After that I tried elasticsearch 0.90.11 without success and let this version. after many installation I effectively didn't restarted updateSearchIndexConfig.php because the script forceSearchIndex seemed to automatically recreate the index -> this is a huge mistake that i've made.
- So I believe the solution to make everything work is to get elasticsearch 1.0, assure to have Elastica and CirrusSearch in REL1_22 if core is in REL1_22 and use the scripts described in readme document. Nrm (talk) 17:46, 12 March 2014 (UTC)
- Cool. I'm glad you figured it out. The autocreate indexes feature in Elasticsearch is useful but not so much here.... They recommend turning it off if you don't like it but since that isn't the default you end up with things like this. NEverett (WMF) (talk) 19:43, 14 March 2014 (UTC)
Installing Cirrus Search on Windows
Hello, i installing CirrusSearch extension to increase my search on wiki, but i need execute a script to finally instalation, but this script is for linux, and i'm installing on windows i need help with this, what i can make... Look down the original script.
export PROCS=5 #or whatever number you want rm -rf cirrus_scripts mkdir cirrus_scripts mkdir cirrus_log pushd cirrus_scripts php extensions/CirrusSearch/maintenance/forceSearchIndex.php --queue --maxJobs 10000 --pauseForJobs 1000 \ --forceUpdate --skipLinks --indexOnSkip --buildChunks 250000 | sed -e 's/$/ | tee -a cirrus_log\/'$wiki'.parse.log/' | split -n r/$PROCS for script in x*; do sort -R $script > $script.sh && rm $script; done popd
Thnx to All. 200.175.100.66 11:46, 24 March 2014 (UTC)
How do I verify CirrusSearch has been successfully installed?
I believe I followed the instructions on the README included with CirrusSearch. Each of the maintenance commands executed without error and ElasticSearch , CirrusSearch and Elastica show up as installed in the 'Special:Version' page but the search seems to behave and looks exactly the same as the default search.
From Mediawiki Special:Version page
Medaiwiki Version. 1.22.4 php: 5.3.3 ElasticSearch: 1.1.0
CirrusSearch (Version 0.2) Elastica (Version 0.1) Ukgeorge (talk) 09:41, 28 March 2014 (UTC)
Dgennaro 18:37, 20 May 2014 (UTC)
I get a error message "Failed to execute fetch phase" in the console when inputting a search term. Any ideas what I may have done wrong in the installation.
Full error message:
2014-03-28 11:25:45,215][DEBUG][action.search.type ] [Silver Squire] [220] Failed to execute fetch phase
org.elasticsearch.ElasticsearchIllegalArgumentException: the field [text] should be indexed with term vector with position offsets to be used with fast vector highlighter
at org.elasticsearch.search.highlight.FastVectorHighlighter.highlight(FastVectorHighlighter.java:68)
at org.elasticsearch.search.highlight.HighlightPhase.hitExecute(HighlightPhase.java:126)
at org.elasticsearch.search.fetch.FetchPhase.execute(FetchPhase.java:211)
at org.elasticsearch.search.SearchService.executeFetchPhase(SearchService.java:452)
at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteFetch(SearchServiceTransportAction.java:406)
at org.elasticsearch.action.search.type.TransportSearchDfsQueryThenFetchAction$AsyncAction.executeFetch(TransportSearchDfsQueryThenFetchAction.java:249)
at org.elasticsearch.action.search.type.TransportSearchDfsQueryThenFetchAction$AsyncAction$5.run(TransportSearchDfsQueryThenFetchAction.java:233)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
From "Special:Version"
Product Version
MediaWiki 1.22.4
PHP 5.3.3 (apache2handler)
Elasticsearch 1.1.0
CirrusSearch (Version 0.2)
Elastica (Version 0.1)
ES_HEAP_SIZE ???
Any recommendation for setting ES_HEAP_SIZE based on the "size" of the wiki? Psyc0smos (talk) 23:22, 15 May 2014 (UTC)
Searching other Indexes
How is $wgCirrusSearchExtraIndexes properly used to include other site indexes into the search? Dgennaro 20:01, 20 May 2014 (UTC)
- Ok, I got $wgCirrusSearchExtraIndexes working properly, but is there a way to identify and direct the links from another site's index to that site? Dgennaro 13:34, 21 May 2014 (UTC)
CirrusSearch download
I've noticed the download is not available (cannot choose wiki version). Is that intentional?
I've tried to grab directly from https://git.wikimedia.org/summary/mediawiki%2Fextensions%2FCirrusSearch.git but run into issues on MW 1.22.3
php ./forceSearchIndex.php --skipLinks --indexOnSkip
PHP Warning: Invalid argument supplied for foreach() in /var/www/wikiprep rod/extensions/CirrusSearch/includes/BuildDocument/PageTextBuilder.php on line 90
PHP Warning: Invalid argument supplied for foreach() in /var/www/wikiprep rod/extensions/CirrusSearch/includes/BuildDocument/PageTextBuilder.php on line 90
PHP Warning: Invalid argument supplied for foreach() in /var/www/wikiprep rod/extensions/CirrusSearch/includes/BuildDocument/PageTextBuilder.php on line 90
PHP Warning: Invalid argument supplied for foreach() in /var/www/wikiprep rod/extensions/CirrusSearch/includes/BuildDocument/PageTextBuilder.php on line 90
PHP Fatal error: Call to undefined method JpegHandler::getEntireText() in /var/www/wikipreprod/extensions/CirrusSearch/includes/BuildDocument/FileD ataBuilder.php on line 41
Harnas1977 (talk) 13:08, 28 May 2014 (UTC)
how to delete an index?
- When I run updateSearchIndexConfig.php I get "Looks like the index has more than one identifier" error:
- How do I delete these indexes? I want to delete all and create one from scratch:
- 185.31.48.30 10:53, 3 June 2014 (UTC)
php maintenance/updateSearchIndexConfig.php content index... Fetching Elasticsearch version...1.0.0...ok Scanning available plugins...none Infering index identifier...error Looks like the index has more than one identifier. You should delete all but the one of them currently active. Here is the list: XX_pre_content,XX_pre_content_1401790881,XX_pre_content_first,XX_pre_content_1401791290
- found the answer myself so sharing:
- http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-delete-index.html 185.31.48.30 11:10, 3 June 2014 (UTC)
- Link does redirect to the homepage.
- What did you exactly do? 88.66.150.172 (talk) 10:30, 27 September 2022 (UTC)
- Using a search engine and looking for "elasticsearch delete index" gives me this as the first result:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html Ciencia Al Poder (talk) 10:32, 27 September 2022 (UTC)
- Thanks. I always searched for "cirrussearch delete index" which doesn't help. 88.66.150.172 (talk) 10:39, 27 September 2022 (UTC)
- when i typed in the XDELETE function i got `{"acknowledged":true}` but it still was there? 129.6.88.86 (talk) 19:12, 22 July 2015 (UTC)
- To delete :
curl -X DELETE "localhost:9200/my-index-000001"
- To display indexes:
curl -X GET "localhost:9200/_cat/indices"
Aparolini (talk) 15:19, 1 November 2022 (UTC)
An error has occurred while searching: We could not complete your search due to a temporary problem. Please try again later.
- Site: http://www.pidgi.net/wiki/Main_Page
- MediaWiki 1.23.0
- PHP 5.3.10-1ubuntu3.7 (apache2handler)
- MySQL 5.5.32-0ubuntu0.12.04.1
- Elasticsearch 1.2.1
- Elastica 1.0.1.2
- CirrusSearch 0.2
- After a seemingly successful installation, I'm getting this error on any searches. I have just the barebones in my LocalSettings:
require_once "$IP/extensions/Elastica/Elastica.php"; require_once "$IP/extensions/CirrusSearch/CirrusSearch.php"; $wgSearchType = 'CirrusSearch';
- Elasticsearch is on the same server as MediaWiki, so the default "localhost" as server should work without issue. I'm able to verify in SSH that elasticsearch is working - I can get the following for
curl -X GET http://localhost:9200
{ "status" : 200, "name" : "Catiana", "version" : { "number" : "1.2.1", "build_hash" : "6c95b759f9e7ef0f8e17f77d850da43ce8a4b364", "build_timestamp" : "2014-06-03T15:02:52Z", "build_snapshot" : false, "lucene_version" : "4.8" }, "tagline" : "You Know, for Search" }
- Any clue on how to fix this? Immewnity (talk) 21:13, 19 June 2014 (UTC)
- I've disabled Cirrus right now since it was breaking the search function, and the site is a moderately high-traffic website. I believe there's a way to make Cirrus a secondary engine, as it's mentioned in CirrusSearch.php, but I can't find documentation on how to do so. Immewnity (talk) 00:11, 21 June 2014 (UTC)
- i had the same issue when using the 1.23 snapshot, but switching to branch 1.23wmf22 resolved it 50.59.214.30 02:28, 27 June 2014 (UTC)
- In my case the problem was solved by adding the following line to file "/etc/elasticsearch/elasticsearch.yml":
- script.disable_dynamic: false
- See http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_enabling_dynamic_scripting (section "enabling dynamic scripting"). Takemyname (talk) 18:28, 27 June 2014 (UTC)
- I'm having exact same issue as OP but none of the above fixes work for me, any other ideas? 66.109.93.146 05:22, 9 August 2014 (UTC)
- i had the same issue when using the 1.23 snapshot, but switching to branch 1.23wmf22 resolved it 50.59.214.30 02:28, 27 June 2014 (UTC)
- I've disabled Cirrus right now since it was breaking the search function, and the site is a moderately high-traffic website. I believe there's a way to make Cirrus a secondary engine, as it's mentioned in CirrusSearch.php, but I can't find documentation on how to do so. Immewnity (talk) 00:11, 21 June 2014 (UTC)
- This is a common error message!
- You will need check more detail logging message to get more ideas.
- Using the following line in LocalSettings.php to record the logging message from CirrusSearch:
$wgDebugLogGroups['CirrusSearch'] = "$IP/extensions/CirrusSearch/error.log";
Seanchen (talk) 16:37, 27 June 2016 (UTC)- My error in the logfile is:
illegal_argument_exception: no mapping found for field [suggest]
- any help?! M art in (talk) 12:08, 16 April 2018 (UTC)
- > illegal_argument_exception: no mapping found for field [suggest]
- you probably need to reindex your data by running the script
maintenance/updateSearchIndexConfig.php --reindexAndRemoveOk --indexIdentifier now
DCausse (WMF) (talk) 20:17, 25 July 2018 (UTC) - Small correction, the U in update needs to be caps.
- php maintenance/UpdateSearchIndexConfig.php --reindexAndRemoveOk --indexIdentifier now
- Thank you! This helped me. ShinyComputers (talk) 16:11, 5 October 2020 (UTC)
which version of mediawiki cirrusserch, elastica,elasticsearch working together well?
hi, have a question, tried many times to integrate cirrussearch, elastica, ealasticsearch with my wiki, but, no luck! :(
the installation seemingly smooth, but when i ready to kick start, i either get a error message like
"An error has occurred while searching: We could not complete your search due to a temporary problem. Please try again later."
or calling a functions not existed error.
my environment
- ubuntu
- mediawiki 1.23.0
- elasticsearch (latest version)
- elastica (1.22)
- cirrussearch (1.22)
i tried different combinations, but, i still can't get it working together. when you guys have it working together, which version of each do you choose? what the reason could be to cause the error?
thanks! Condense100 (talk) 04:08, 30 June 2014 (UTC)
- Since you have MediaWiki 1.23, you should be using CirrusSearch 1.23 and Elastica 1.23. Legoktm (talk) 08:55, 30 June 2014 (UTC)
- hi,
- thanks for reply.
- in elastica downloading page, there is only 1.22 and master version available, is the master version equivalent of 1.23?
- then i get github.com
- https://github.com/wikimedia/mediawiki-extensions-Elastica
- over there, i still can't find 1.23, but some other version like 1.23wmf9 etc.
- to be specific, which version are your guys using together?
- thanks! Condense100 (talk) 12:49, 30 June 2014 (UTC)
- Yeah, that's bugzilla:67270 :(. I've been using Elastica@e1127206d16c364a2ad7b6d16f2287e49ce4a7fa (zip), and it seems to be working for me. Legoktm (talk) 07:04, 1 July 2014 (UTC)
- thank you very much!
- after switch that version, it seems works now!
- have a nice weekend! Condense100 (talk) 18:43, 6 July 2014 (UTC)
- Yeah, that's bugzilla:67270 :(. I've been using Elastica@e1127206d16c364a2ad7b6d16f2287e49ce4a7fa (zip), and it seems to be working for me. Legoktm (talk) 07:04, 1 July 2014 (UTC)
Cirrus behaving like standard search?
Hi all,
Here's my situation. I'm attempting to install CirrusSearch on my installation of Mediawiki. It is a relatively small enterprise-minded wiki which has for goal to hold a knowledge base. As such, it has become more important over its development that the search function be up to snuff.
Anyway, here's how I proceeded.
- Installed Elasticsearch (at first the latest version, but I am current on 1.1.1).
- Installed Elastica for Mediawiki 1.22.
- Installed CirrusSearch for Mediawiki 1.22 (I have 1.22.6).
- The installation appears to proceed successfully. The Elasticsearch cluster is OK. After using the .php scripts, three indices appear in total and they contain my pages.
Now, here's the weird thing. After all that, I switch $wgSearchType to 'CirrusSearch', and try to search something. It works, but doesn't appear to display any of the abilities I expected. In fact, it behaves worse than the standard search engine. For instance, with the standard search engine, if I search for a page I know exists, I will automatically be redirected to the page, which is the behavior I want. With Cirrus, I will be redirected to Special:Search, were the page does indeed appear with 100% match, but I will not be redirected. At first, I wasn't sure if Cirrus was even working. I was able to confirm that by enabling different variables such as the warning that "this wiki is using a new search engine", and the score for each result. It's definitely there, it's just not doing what I expected. Something else I expected, and a big part of my decision to change search engine, was the ability to provide "did you mean" results. If I search for a page called "Canad" while a page "Canada" exists, I'd like the latter to be provided as a "did you mean" result. I see this behavior displayed on Wikipedia, but it's nowhere to be seen on my wiki.
Is there something else I need to configure to enable such functions? Otherwise, is there anything that could cause such a behavior?
Thanks, Quantos (talk) 20:15, 16 July 2014 (UTC)
- Cheers Quantos,
- I don't have an answer to your questions, but have similar issues. I recently installed CirrusSearch, built an index, etc., but have found that the search-results are...well,...not exactly what I expect. This can only be attributed to Elasticsearch's searching strategy, but sometimes it comes up with less-than-reasonable results. For instance, searching for a set of words such as "dog food supplier" I get top-scoring results that do not contain that phrase above lower-scoring results that do include that phrase. It is odd.
- Currently I am unsure whether or not this is better than our Lucene/MWSearch engine. Daniel Renfro 18:54, 30 March 2015 (UTC)
- Hi! You can see the way we've configured Cirrus for enwiki at http://en.wikipedia.org/w/api.php?action=cirrus-config-dump&srbackend=CirrusSearch&format=json . For the most part its close to the defaults except for enabling some elasticsearch plugins. You can also have a look at the Jenkins.php file in Cirrus for how the integration tests are configured. You shouldn't copy it directly because it contains some hacks to make testing faster but it contains whatever configuration we expect the integration tests to work for.
- For the specific questions:
- 1. Did you mean: it certainly should work. Its based on term frequency and has some hard cutoffs like "don't show a did you mean if there is a redirect from Canad to Canada". Try adding ?cirrusDumpQuery=yes to the search and see if it contains "suggest" in the json. That is the "is it plugged in" test.
- 2. Phrase matching: We do check for matching phrases. It might be worth getting the query from ?cirrusDumpQuery=yes (its the query part of the json), checking for the rescore portion, and then sending it directly to Elasticsearch with the explain parameter and posting both in a pastebin thing. Its something that works for us and in the regression tests so I'm sure its fixable.
- 3. Elasticsearch 1.1.1: That is a pretty old version. We're on 1.3.something and even that it pretty old. One thing you have to do if you upgrade is to turn on dynamic scripting and make sure Elasticsearch is firewalled off from everyone you don't want running scripts. Its something we'd like to fix in Cirrus but haven't had the time.
- 4. What version of Cirrus are you using? I've tried to make a few backports to the 1.22 branch but its been a while. git commit hash is really the best way to identify Cirrus versions unfortunately. NEverett (WMF) (talk) 13:06, 2 April 2015 (UTC)
Is it possible for CirrusSearch to NOT require dynamic scripting?
I've set up an ES cluster for use in my organization for both Logstash and Mediawiki search. I'm learning that having dynamic scripting enabled presents a sizable security risk. Therefore, to keep the security tight and attack surface to a minimum, it seems I might have to run a dedicated and locked-down ElasticSearch instance (or cluster) to service CirrusSearch query requests only.
Is there another approach that CirrusSearch could use (perhaps preloaded, parameterized scripts?) that could eliminate the need to run with dynamic scripting enabled? Lsilverman (talk) 20:17, 21 July 2014 (UTC)
- Our README is very laconic, but if you follow the ES docs and bind+firewall the ES port you should be safe.
- There will be changes in ES 1.3. Nemo 06:49, 22 July 2014 (UTC)
- Thanks. Perhaps you could be less laconic regarding what aspects of the ES docs to pay attention to?
- Are you recommending running behind a proxy like nginx or apache and somehow configuring it to prohibit dynamic scripts via proxy config?
- Are you hinting that CirrusSearch/Elastica uses a sandboxed language like Groovy and therefore the setting could be changed to
script.disable_dynamic: sandbox
? - What changes are coming in ES 1.3 that are relevant here? When might they be coming? Lsilverman (talk) 02:49, 23 July 2014 (UTC)
- Bump? Lsilverman (talk) 15:57, 21 August 2014 (UTC)
- Interested in a response to this as well. 70.140.244.112 17:55, 25 September 2014 (UTC)
- Yes, we switched to using Groovy with 1.3 so things are sandboxed. We then can configure our Elasticsearch to only allow the things we need. See here for what we did in production. ^demon[omg plz] 13:59, 20 October 2014 (UTC) 13:59, 20 October 2014 (UTC)
- Thanks. Perhaps you could be less laconic regarding what aspects of the ES docs to pay attention to?
I keep getting this error while trying to setup CirrusSearch
We're using php 5.4, elasticsearch 1.2.2
content index... Fetching Elasticsearch version...1.2.2...ok Scanning available plugins...none Infering index identifier... Unexpected Elasticsearch failure. Elasticsearch failed in an unexpected way. This is always a bug in CirrusSearch. 2001:408:0:100:1D8E:CEB6:79EF:ED07 18:20, 16 September 2014 (UTC)
error using ElasticSearch
Hi there,
successfully installed Elastic Search
MediaWiki 1.23.2 PHP 5.3.28 (apache2handler) MySQL 5.6.11 Elasticsearch 1.3.2 java version "1.7.0_67" Java(TM) SE Runtime Environment (build 1.7.0_67-b01) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode) In the localsettings.php ##CIRRUS SEARCH require_once "$IP/extensions/Elastica/Elastica.php"; require_once "$IP/extensions/CirrusSearch/CirrusSearch.php"; ##$wgDisableSearchUpdate = true; $wgSearchType = 'CirrusSearch'; When starting a search I get the following message '''Warning: Search backend error during full_text search for ‚fama’ after 6. Error message: SearchPhaseExecution[Failed to execute phase [dfs], all shards failed;… '''
Any ideas?
Thanks
Don Xello Donxello (talk) 00:41, 28 September 2014 (UTC)
- Hi all,
- my CirrusSearch install was successfull, too, and I am facing a similar error.
- MediaWiki 1.23.5
- PHP 5.4.16 (apache2handler)
- MySQL 5.6.21
- CirrusSearch 0.2 (aeccd2e) 15:07, 22 April 2014
- Elastica 1.0.1.2 (e112720) 13:19, 22 April 2014
- java version "1.7.0_71"
- OpenJDK Runtime Environment (rhel-2.5.3.1.el7_0-x86_64 u71-b14)
- OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) 80.147.100.166 11:05, 24 October 2014 (UTC)
- Sorry - the More > Edit function does not safe my missed edits...
- Hi all,
- my CirrusSearch install was successfull, too, and I am facing a similar error.
- MediaWiki 1.23.5
- PHP 5.4.16 (apache2handler)
- MySQL 5.6.21
- CirrusSearch 0.2 (aeccd2e) 15:07, 22 April 2014
- Elastica 1.0.1.2 (e112720) 13:19, 22 April 2014
- java version "1.7.0_71"
- OpenJDK Runtime Environment (rhel-2.5.3.1.el7_0-x86_64 u71-b14)
- OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
- LocalSettings.php:
[...] require_once "$IP/extensions/Elastica/Elastica.php"; require_once "$IP/extensions/CirrusSearch/CirrusSearch.php"; #$wgDisableSearchUpdate = true; $wgCirrusSearchServers = array( 'localhost' ); $wgSearchType = 'CirrusSearch';
- My test scenario:
- I have a wiki page about Mediawiki and CirrusSearch. If I jump to mediawiki's search (Spezial:Search), put in the phrase "CirrusSearch", and click <Search> I get following error message: "An error has occurred while searching: We could not complete your search due to a temporary problem. Please try again later."
- Apache 2's error log:
[...] [Fri Oct 24 12:59:52.637649 2014] [:error] [pid 44751] [client test-client:53763] PHP Warning: Search backend error during full_text search for 'CirrusSearch' after 191. Error message: SearchPhaseExecutionException[Failed to execute phase [dfs], all shards failed; shardFailures {[hhGSV15NSgmfcR5k7JxMtw][wikidb_content_first][0]: SearchParseException[[wikidb_content_first][0]: query[filtered(((title.plain:cirrussearch^20.0 | heading.plain:cirrussearch^5.0 | text.plain:cirrussearch | file_text.plain:cirrussearch^0.8 | redirect.title.plain:cirrussearch^15.0 | title:cirrussearch^10.0 | heading:cirrussearch^2.5 | text:cirrussearch^0.5 | file_text:cirrussearch^0.4 | redirect.title:cirrussearch^7.5) (title.near_match:cirrussearch^40.0 | redirect.title.near_match:cirrussearch^30.0))~1)->cache(namespace: \x01 in /usr/local/mediawiki/includes/debug/Debug.php on line 303, referer: http://MW-DEV/mediawiki/index.php/Spezial:Search
- ElasticSearch's log:
[...] [2014-10-24 12:59:52,604][DEBUG][action.search.type ] [MW-DEV] [wikidb_content_first][0], node[hhGSV15NSgmfcR5k7JxMtw], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@4e1b2f04] lastShard [true] org.elasticsearch.search.SearchParseException: [wikidb_content_first][0]: query[filtered(((title.plain:cirrussearch^20.0 | heading.plain:cirrussearch^5.0 | text.plain:cirrussearch | file_text.plain:cirrussearch^0.8 | redirect.title.plain:cirrussearch^15.0 | title:cirrussearch^10.0 | heading:cirrussearch^2.5 | text:cirrussearch^0.5 | file_text:cirrussearch^0.4 | redirect.title:cirrussearch^7.5) (title.near_match:cirrussearch^40.0 | redirect.title.near_match:cirrussearch^30.0))~1)->cache(namespace: � )],from[-1],size[50]: Parse Failure [Failed to parse source [{"_source":["id","title","namespace","redirect.*","timestamp","text_bytes"],"fields":"text.word_count","query":{"filtered":{"query":{"bool":{"minimum_number_should_match":1,"should":[{"query_string":{"query":"CirrusSearch","fields":["title.plain^20","heading.plain^5","text.plain^1","file_text.plain^0.8","redirect.title.plain^15","title^10","heading^2.5","text^0.5","file_text^0.4","redirect.title^7.5"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}},{"query_string":{"query":"CirrusSearch","fields":["title.near_match^40","redirect.title.near_match^30"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}}]}},"filter":{"terms":{"namespace":[0]}}}},"highlight":{"pre_tags":["<span class=\"searchmatch\">"],"post_tags":["</span>"],"fields":{"title":{"number_of_fragments":0,"type":"fvh","order":"score","matched_fields":["title","title.plain"]},"text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","no_match_size":100,"matched_fields":["text","text.plain"]},"file_text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","matched_fields":["file_text","file_text.plain"]},"redirect.title":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["redirect.title","redirect.title.plain"]},"heading":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["heading","heading.plain"]}}},"suggest":{"text":"CirrusSearch","suggest":{"phrase":{"field":"suggest","size":1,"max_errors":2,"confidence":2,"direct_generator":[{"field":"suggest","suggest_mode":"always","max_term_freq":0.5,"prefix_length":2}],"highlight":{"pre_tag":"<em>","post_tag":"</em>"}}}},"stats":["suggest","full_text"],"size":50,"rescore":[{"window_size":8192,"query":{"rescore_query":{"function_score":{"functions":[{"script_score":{"script":"log10((doc['incoming_links'].isEmpty() ? 0 : doc['incoming_links'].value) + 2)"}}]}},"query_weight":1,"rescore_query_weight":1,"score_mode":"multiply"}}]}]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:660) at org.elasticsearch.search.SearchService.createContext(SearchService.java:516) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:488) at org.elasticsearch.search.SearchService.executeDfsPhase(SearchService.java:191) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:172) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:169) at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.elasticsearch.index.query.QueryParsingException: [wikidb_content_first] script_score the script could not be loaded at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:97) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parseFiltersAndFunctions(FunctionScoreQueryParser.java:190) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parse(FunctionScoreQueryParser.java:116) at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:239) at org.elasticsearch.index.query.IndexQueryParserService.innerParse(IndexQueryParserService.java:342) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:268) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:263) at org.elasticsearch.search.rescore.QueryRescorer.parse(QueryRescorer.java:167) at org.elasticsearch.search.rescore.RescoreParseElement.parseSingleRescoreContext(RescoreParseElement.java:59) at org.elasticsearch.search.rescore.RescoreParseElement.parse(RescoreParseElement.java:37) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:644) ... 9 more Caused by: org.elasticsearch.script.ScriptException: dynamic scripting for [mvel] disabled at org.elasticsearch.script.ScriptService.verifyDynamicScripting(ScriptService.java:374) at org.elasticsearch.script.ScriptService.compile(ScriptService.java:335) at org.elasticsearch.script.ScriptService.search(ScriptService.java:509) at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:94) ... 19 more [2014-10-24 12:59:52,605][DEBUG][action.search.type ] [MW-DEV] [wikidb_content_first][2], node[hhGSV15NSgmfcR5k7JxMtw], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@4e1b2f04] org.elasticsearch.search.SearchParseException: [wikidb_content_first][2]: query[filtered(((title.plain:cirrussearch^20.0 | heading.plain:cirrussearch^5.0 | text.plain:cirrussearch | file_text.plain:cirrussearch^0.8 | redirect.title.plain:cirrussearch^15.0 | title:cirrussearch^10.0 | heading:cirrussearch^2.5 | text:cirrussearch^0.5 | file_text:cirrussearch^0.4 | redirect.title:cirrussearch^7.5) (title.near_match:cirrussearch^40.0 | redirect.title.near_match:cirrussearch^30.0))~1)->cache(namespace: � )],from[-1],size[50]: Parse Failure [Failed to parse source [{"_source":["id","title","namespace","redirect.*","timestamp","text_bytes"],"fields":"text.word_count","query":{"filtered":{"query":{"bool":{"minimum_number_should_match":1,"should":[{"query_string":{"query":"CirrusSearch","fields":["title.plain^20","heading.plain^5","text.plain^1","file_text.plain^0.8","redirect.title.plain^15","title^10","heading^2.5","text^0.5","file_text^0.4","redirect.title^7.5"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}},{"query_string":{"query":"CirrusSearch","fields":["title.near_match^40","redirect.title.near_match^30"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}}]}},"filter":{"terms":{"namespace":[0]}}}},"highlight":{"pre_tags":["<span class=\"searchmatch\">"],"post_tags":["</span>"],"fields":{"title":{"number_of_fragments":0,"type":"fvh","order":"score","matched_fields":["title","title.plain"]},"text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","no_match_size":100,"matched_fields":["text","text.plain"]},"file_text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","matched_fields":["file_text","file_text.plain"]},"redirect.title":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["redirect.title","redirect.title.plain"]},"heading":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["heading","heading.plain"]}}},"suggest":{"text":"CirrusSearch","suggest":{"phrase":{"field":"suggest","size":1,"max_errors":2,"confidence":2,"direct_generator":[{"field":"suggest","suggest_mode":"always","max_term_freq":0.5,"prefix_length":2}],"highlight":{"pre_tag":"<em>","post_tag":"</em>"}}}},"stats":["suggest","full_text"],"size":50,"rescore":[{"window_size":8192,"query":{"rescore_query":{"function_score":{"functions":[{"script_score":{"script":"log10((doc['incoming_links'].isEmpty() ? 0 : doc['incoming_links'].value) + 2)"}}]}},"query_weight":1,"rescore_query_weight":1,"score_mode":"multiply"}}]}]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:660) at org.elasticsearch.search.SearchService.createContext(SearchService.java:516) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:488) at org.elasticsearch.search.SearchService.executeDfsPhase(SearchService.java:191) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:172) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:169) at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.elasticsearch.index.query.QueryParsingException: [wikidb_content_first] script_score the script could not be loaded at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:97) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parseFiltersAndFunctions(FunctionScoreQueryParser.java:190) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parse(FunctionScoreQueryParser.java:116) at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:239) at org.elasticsearch.index.query.IndexQueryParserService.innerParse(IndexQueryParserService.java:342) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:268) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:263) at org.elasticsearch.search.rescore.QueryRescorer.parse(QueryRescorer.java:167) at org.elasticsearch.search.rescore.RescoreParseElement.parseSingleRescoreContext(RescoreParseElement.java:59) at org.elasticsearch.search.rescore.RescoreParseElement.parse(RescoreParseElement.java:37) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:644) ... 9 more Caused by: org.elasticsearch.script.ScriptException: dynamic scripting for [mvel] disabled at org.elasticsearch.script.ScriptService.verifyDynamicScripting(ScriptService.java:374) at org.elasticsearch.script.ScriptService.compile(ScriptService.java:335) at org.elasticsearch.script.ScriptService.search(ScriptService.java:509) at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:94) ... 19 more [2014-10-24 12:59:52,605][DEBUG][action.search.type ] [MW-DEV] [wikidb_content_first][1], node[hhGSV15NSgmfcR5k7JxMtw], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@4e1b2f04] lastShard [true] org.elasticsearch.search.SearchParseException: [wikidb_content_first][1]: query[filtered(((title.plain:cirrussearch^20.0 | heading.plain:cirrussearch^5.0 | text.plain:cirrussearch | file_text.plain:cirrussearch^0.8 | redirect.title.plain:cirrussearch^15.0 | title:cirrussearch^10.0 | heading:cirrussearch^2.5 | text:cirrussearch^0.5 | file_text:cirrussearch^0.4 | redirect.title:cirrussearch^7.5) (title.near_match:cirrussearch^40.0 | redirect.title.near_match:cirrussearch^30.0))~1)->cache(namespace: � )],from[-1],size[50]: Parse Failure [Failed to parse source [{"_source":["id","title","namespace","redirect.*","timestamp","text_bytes"],"fields":"text.word_count","query":{"filtered":{"query":{"bool":{"minimum_number_should_match":1,"should":[{"query_string":{"query":"CirrusSearch","fields":["title.plain^20","heading.plain^5","text.plain^1","file_text.plain^0.8","redirect.title.plain^15","title^10","heading^2.5","text^0.5","file_text^0.4","redirect.title^7.5"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}},{"query_string":{"query":"CirrusSearch","fields":["title.near_match^40","redirect.title.near_match^30"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}}]}},"filter":{"terms":{"namespace":[0]}}}},"highlight":{"pre_tags":["<span class=\"searchmatch\">"],"post_tags":["</span>"],"fields":{"title":{"number_of_fragments":0,"type":"fvh","order":"score","matched_fields":["title","title.plain"]},"text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","no_match_size":100,"matched_fields":["text","text.plain"]},"file_text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","matched_fields":["file_text","file_text.plain"]},"redirect.title":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["redirect.title","redirect.title.plain"]},"heading":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["heading","heading.plain"]}}},"suggest":{"text":"CirrusSearch","suggest":{"phrase":{"field":"suggest","size":1,"max_errors":2,"confidence":2,"direct_generator":[{"field":"suggest","suggest_mode":"always","max_term_freq":0.5,"prefix_length":2}],"highlight":{"pre_tag":"<em>","post_tag":"</em>"}}}},"stats":["suggest","full_text"],"size":50,"rescore":[{"window_size":8192,"query":{"rescore_query":{"function_score":{"functions":[{"script_score":{"script":"log10((doc['incoming_links'].isEmpty() ? 0 : doc['incoming_links'].value) + 2)"}}]}},"query_weight":1,"rescore_query_weight":1,"score_mode":"multiply"}}]}]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:660) at org.elasticsearch.search.SearchService.createContext(SearchService.java:516) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:488) at org.elasticsearch.search.SearchService.executeDfsPhase(SearchService.java:191) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:172) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:169) at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.elasticsearch.index.query.QueryParsingException: [wikidb_content_first] script_score the script could not be loaded at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:97) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parseFiltersAndFunctions(FunctionScoreQueryParser.java:190) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parse(FunctionScoreQueryParser.java:116) at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:239) at org.elasticsearch.index.query.IndexQueryParserService.innerParse(IndexQueryParserService.java:342) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:268) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:263) at org.elasticsearch.search.rescore.QueryRescorer.parse(QueryRescorer.java:167) at org.elasticsearch.search.rescore.RescoreParseElement.parseSingleRescoreContext(RescoreParseElement.java:59) at org.elasticsearch.search.rescore.RescoreParseElement.parse(RescoreParseElement.java:37) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:644) ... 9 more Caused by: org.elasticsearch.script.ScriptException: dynamic scripting for [mvel] disabled at org.elasticsearch.script.ScriptService.verifyDynamicScripting(ScriptService.java:374) at org.elasticsearch.script.ScriptService.compile(ScriptService.java:335) at org.elasticsearch.script.ScriptService.search(ScriptService.java:509) at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:94) ... 19 more [2014-10-24 12:59:52,604][DEBUG][action.search.type ] [MW-DEV] [wikidb_content_first][3], node[hhGSV15NSgmfcR5k7JxMtw], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@4e1b2f04] lastShard [true] org.elasticsearch.search.SearchParseException: [wikidb_content_first][3]: query[filtered(((title.plain:cirrussearch^20.0 | heading.plain:cirrussearch^5.0 | text.plain:cirrussearch | file_text.plain:cirrussearch^0.8 | redirect.title.plain:cirrussearch^15.0 | title:cirrussearch^10.0 | heading:cirrussearch^2.5 | text:cirrussearch^0.5 | file_text:cirrussearch^0.4 | redirect.title:cirrussearch^7.5) (title.near_match:cirrussearch^40.0 | redirect.title.near_match:cirrussearch^30.0))~1)->cache(namespace: � )],from[-1],size[50]: Parse Failure [Failed to parse source [{"_source":["id","title","namespace","redirect.*","timestamp","text_bytes"],"fields":"text.word_count","query":{"filtered":{"query":{"bool":{"minimum_number_should_match":1,"should":[{"query_string":{"query":"CirrusSearch","fields":["title.plain^20","heading.plain^5","text.plain^1","file_text.plain^0.8","redirect.title.plain^15","title^10","heading^2.5","text^0.5","file_text^0.4","redirect.title^7.5"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}},{"query_string":{"query":"CirrusSearch","fields":["title.near_match^40","redirect.title.near_match^30"],"auto_generate_phrase_queries":true,"phrase_slop":1,"default_operator":"AND","allow_leading_wildcard":false,"fuzzy_prefix_length":2}}]}},"filter":{"terms":{"namespace":[0]}}}},"highlight":{"pre_tags":["<span class=\"searchmatch\">"],"post_tags":["</span>"],"fields":{"title":{"number_of_fragments":0,"type":"fvh","order":"score","matched_fields":["title","title.plain"]},"text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","no_match_size":100,"matched_fields":["text","text.plain"]},"file_text":{"number_of_fragments":1,"fragment_size":100,"type":"fvh","order":"score","matched_fields":["file_text","file_text.plain"]},"redirect.title":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["redirect.title","redirect.title.plain"]},"heading":{"number_of_fragments":1,"fragment_size":10000,"type":"fvh","order":"score","matched_fields":["heading","heading.plain"]}}},"suggest":{"text":"CirrusSearch","suggest":{"phrase":{"field":"suggest","size":1,"max_errors":2,"confidence":2,"direct_generator":[{"field":"suggest","suggest_mode":"always","max_term_freq":0.5,"prefix_length":2}],"highlight":{"pre_tag":"<em>","post_tag":"</em>"}}}},"stats":["suggest","full_text"],"size":50,"rescore":[{"window_size":8192,"query":{"rescore_query":{"function_score":{"functions":[{"script_score":{"script":"log10((doc['incoming_links'].isEmpty() ? 0 : doc['incoming_links'].value) + 2)"}}]}},"query_weight":1,"rescore_query_weight":1,"score_mode":"multiply"}}]}]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:660) at org.elasticsearch.search.SearchService.createContext(SearchService.java:516) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:488) at org.elasticsearch.search.SearchService.executeDfsPhase(SearchService.java:191) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:172) at org.elasticsearch.search.action.SearchServiceTransportAction$3.call(SearchServiceTransportAction.java:169) at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.elasticsearch.index.query.QueryParsingException: [wikidb_content_first] script_score the script could not be loaded at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:97) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parseFiltersAndFunctions(FunctionScoreQueryParser.java:190) at org.elasticsearch.index.query.functionscore.FunctionScoreQueryParser.parse(FunctionScoreQueryParser.java:116) at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:239) at org.elasticsearch.index.query.IndexQueryParserService.innerParse(IndexQueryParserService.java:342) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:268) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:263) at org.elasticsearch.search.rescore.QueryRescorer.parse(QueryRescorer.java:167) at org.elasticsearch.search.rescore.RescoreParseElement.parseSingleRescoreContext(RescoreParseElement.java:59) at org.elasticsearch.search.rescore.RescoreParseElement.parse(RescoreParseElement.java:37) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:644) ... 9 more Caused by: org.elasticsearch.script.ScriptException: dynamic scripting for [mvel] disabled at org.elasticsearch.script.ScriptService.verifyDynamicScripting(ScriptService.java:374) at org.elasticsearch.script.ScriptService.compile(ScriptService.java:335) at org.elasticsearch.script.ScriptService.search(ScriptService.java:509) at org.elasticsearch.index.query.functionscore.script.ScriptScoreFunctionParser.parse(ScriptScoreFunctionParser.java:94) ... 19 more [2014-10-24 12:59:52,614][DEBUG][action.search.type ] [MW-DEV] All shards failed for phase: [dfs]
- In the ElasticSearch server I have running the ElasticHQ plugin (http://www.elastichq.org/) which has a query interface for ElasticSearch. If I jump to ElasticHQ's Query put in the phrase "CirrusSearch", select all indeces and all fields, and click <Search> I get
- following query request:
{ "query": { "filtered": { "query": { "query_string": { "query": "CirrusSearch" } } } }, "fields": [ "template", "text", "incoming_links", "file_text", "suggest", "local_sites_with_dupe", "outgoing_link", "namespace", "timestamp", "title", "text_bytes", "category", "external_link", "namespace_text", "redirect", "heading", "replica_count", "mapping_maj", "mapping_min", "analysis_maj", "analysis_min", "shard_count" ], "from": 0, "size": 50, "sort": { "_score": { "order": "asc" } }, "explain": true }
- and following JSON response:
{ "took": 85, "timed_out": false, "_shards": { "total": 9, "successful": 8, "failed": 1, "failures": [ { "index": "wikidb_content_first", "shard": 0, "status": 400, "reason": "ElasticsearchIllegalArgumentException[field [redirect] isn't a leaf field]" } ] }, "hits": { "total": 1, "max_score": null, "hits": [] } }
- That is an ElasticsearchIllegalArgumentException exception for field redirect.
- ElasticSearch's log:
[...] [2014-10-24 13:20:33,811][DEBUG][action.search.type ] [MW-DEV] [33484] Failed to execute fetch phase org.elasticsearch.ElasticsearchIllegalArgumentException: field [redirect] isn't a leaf field at org.elasticsearch.search.fetch.FetchPhase.execute(FetchPhase.java:125) at org.elasticsearch.search.SearchService.executeFetchPhase(SearchService.java:460) at org.elasticsearch.search.action.SearchServiceTransportAction$17.call(SearchServiceTransportAction.java:410) at org.elasticsearch.search.action.SearchServiceTransportAction$17.call(SearchServiceTransportAction.java:407) at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
- If I deselet the redirect field in ElasticHQ's Query I get an valid response from ElasticSearch:
- Index: wikidb_content_first
- Type: page
- Score: 0.38657883
- ID: 2481
- Template:
- Text: [...] CirrusSearch Extension [...]
- [...]
- Is there any correlation between the CirrusSearch crash and the ElasticsearchIllegalArgumentException of ElasticHQ's Query? - Both queries reference redirect field...
- ElasticHQ's Query: "fields": [... "redirect", ...]
- CirrusSearch: ... redirect.title.plain:cirrussearch^15.0 ... "redirect.*"
- Has anybody a hint? - Thanks in advance!
- Frank 80.147.100.166 13:09, 24 October 2014 (UTC)
- Hi all,
- we found out:
- The SearchPhaseExecutionException (see Apache2 log) was thrown because of a QueryParsingException: [wikidb_content_first] script_score the script could not be loaded.
- The script_score script was not loaded beacause since release 1.3.0 of ElasticSearch dynamic scripting is disabled by default (see http://www.elasticsearch.org/blog/scripting-security/). In order to enabale dynamic scripting set the following key into ElasticSearch's elasticsearch.yml:
[...] script.disable_dynamic: false
- Then CirrusSearch works fine.
- Frank 80.147.100.166 13:00, 27 October 2014 (UTC)
- Thanks This answer saved me :-) 182.72.217.10 06:36, 10 December 2014 (UTC)
- Me too, thanks!!!! Donxello (talk) 16:00, 16 May 2015 (UTC)
- Hi all,
Can't see elasticsearch version?
- I'm getting a weird error and am hoping someone can point me in the right direction.
- I have elasticsearch running on my server. Version 1.3.2. Installed Elastica and CirrusSearch extensions. Both appear on Special:Version, as does a listing of elastic search under MW, PHP, and MySQL versions. Everything looks groovy.
- LocalSettings.php says:
#Enable ElasticSearch
require_once( "$IP/extensions/Elastica/Elastica.php" );
require_once( "$IP/extensions/CirrusSearch/CirrusSearch.php" );
$wgDisableSearchUpdate = true;
$wgCirrusSearchServers = array( 'localhost' );
- Ok, so far so good. Go to run "/w/extensions/CirrusSearch/maintenance/updateSearchIndexConfig.php" and I get the following:
php updateSearchIndexConfig.php
content index...
Fetching Elasticsearch version...PHP Notice: Undefined index: version in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 235
Notice: Undefined index: version in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 235
...Not supported!
Only Elasticsearch 1.x is supported. Your version: .
- "Your version: ." Huh?
- I hacked (really, just comment out line 239 in updateOneSearchIndexConfig.php - a total hack) out the check for the version and then I get this:
content index...
Fetching Elasticsearch version...PHP Notice: Undefined index: version in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 235
Notice: Undefined index: version in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 235
...Not supported!
Scanning available plugins...PHP Notice: Undefined index: nodes in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 252
Notice: Undefined index: nodes in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 252
PHP Warning: array_values() expects parameter 1 to be array, null given in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 252
Warning: array_values() expects parameter 1 to be array, null given in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 252
PHP Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 252
Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 252
none
PHP Warning: array_chunk() expects parameter 1 to be array, null given in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 270
Warning: array_chunk() expects parameter 1 to be array, null given in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 270
PHP Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 270
Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 270
Infering index identifier...PHP Notice: Undefined index: indices in /var/www/html/w/extensions/Elastica/Elastica/lib/Elastica/Status.php on line 83
Notice: Undefined index: indices in /var/www/html/w/extensions/Elastica/Elastica/lib/Elastica/Status.php on line 83
PHP Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/Elastica/Elastica/lib/Elastica/Status.php on line 83
Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/Elastica/Elastica/lib/Elastica/Status.php on line 83
minfo_test_content_first
PHP Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
PHP Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
PHP Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
PHP Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 54
PHP Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 58
Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php on line 58
Picking analyzer...english
Creating index...ok
Validating analyzers...PHP Warning: array_key_exists() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 435
Warning: array_key_exists() expects parameter 2 to be array, null given in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 435
cannot correct
This script encountered an index difference that requires that the index be
copied, indexed to, and then the old index removed. Re-run this script with the
--reindexAndRemoveOk --indexIdentifier=now parameters to do this.
- This is on 1.24wmf22, PHP 5.3.3,MySQL 5.6.14, and Elasticsearch 1.3.2. Elastica is version 1.3.0.0 (5804d28), CirrusSearch 0.2 (4e00a93)
- I've tried permutations of "$wgCirrusSearchServers" including removing it. No dice. HTTPS is forced upon connection to this (unfortunately) internal wiki. Ckoerner (talk) 19:46, 13 October 2014 (UTC)
- This is definitely a bug (one I thought I'd fixed before, ugh!). I'll have a look at it this week for sure. ^demon[omg plz] 14:00, 20 October 2014 (UTC) 14:00, 20 October 2014 (UTC)
- Thanks User:^demon for your help. I'm still stumped. I updated CirrusSearch, Elastica, and MediaWiki (1.25wmf5) and I'm still seeing a similar message. I see that the version detection code has been change since my initial post.
php updateSearchIndexConfig.php
content index...
Fetching Elasticsearch version...unable to determine, aborting.PHP Notice: Undefined index: version in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 237
Notice: Undefined index: version in /var/www/html/w/extensions/CirrusSearch/maintenance/updateOneSearchIndexConfig.php on line 237
...Not supported!
Only Elasticsearch 1.x is supported. Your version: .
- $ps ax|grep elastic shows the following:
4337 ? Sl 44:22 /usr/bin/java -Xms256m -Xmx1g -Xss256k -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Delasticsearch -Des.pidfile=/var/run/elasticsearch/elasticsearch.pid -Des.path.home=/usr/share/elasticsearch -cp :/usr/share/elasticsearch/lib/elasticsearch-1.3.2.jar:/usr/share/elasticsearch/lib/*:/usr/share/elasticsearch/lib/sigar/* -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch -Des.default.path.data=/var/lib/elasticsearch -Des.default.path.work=/tmp/elasticsearch -Des.default.path.conf=/etc/elasticsearch org.elasticsearch.bootstrap.Elasticsearch
- For giggles I tried to run another maintenance script. php saneitize.php. It chugged a long through all 13987 items Then reported everything as "Page not in index". Which makes sense.
- I tried php checkIndexes.php and got the following:
mw_cirrus_versions...
PHP Notice: Undefined index: metadata in /var/www/html/w/extensions/CirrusSearch/maintenance/checkIndexes.php on line 52
Notice: Undefined index: metadata in /var/www/html/w/extensions/CirrusSearch/maintenance/checkIndexes.php on line 52
PHP Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/CirrusSearch/maintenance/checkIndexes.php on line 52
Warning: Invalid argument supplied for foreach() in /var/www/html/w/extensions/CirrusSearch/maintenance/checkIndexes.php on line 52
mw_cirrus_versions...
does not exist
Ckoerner (talk) 17:35, 11 November 2014 (UTC)- It looks like I figured it out. I had relied on the default $wgCirrusSearchServers setting, which uses 'localhost'.
- After trying to get the version of elastic search via CURL (curl -XGET 'http://localhost:9200') I noticed I was getting "Connection refused" response (502) errors.
- This was puzzling. I was running this on the localhost box! What was going on! Well, I added the following to LocalSettings.php and guess what? It works now.
- $wgCirrusSearchServers = array( 'hostname.domain.com' );
- /facepalm. Thanks again. Ckoerner (talk) 17:52, 11 November 2014 (UTC)
- This is definitely a bug (one I thought I'd fixed before, ugh!). I'll have a look at it this week for sure. ^demon[omg plz] 14:00, 20 October 2014 (UTC) 14:00, 20 October 2014 (UTC)
- For the record, I had the same issue but that was because a proxy was setup… :p 129.104.99.210 (talk) 10:09, 28 April 2017 (UTC)
- How did you get past the proxy? I have the same problem too.. need to passs -noproxy to curl... 136.163.203.9 (talk) 07:11, 8 May 2017 (UTC)
PHP Fatal error:
- when I run
php extensions/CirrusSearch/maintenance/updateSearchIndexConfig.php
- I get:
PHP Fatal error: Class 'Elastica\Transport\Http' not found in /var/www/lighttpd/sjwiki.org/extensions/Elastica/ElasticaConnection.php on line 153
- Any ideas? SJWiki (talk) 12:17, 27 November 2014 (UTC)
- If you downloaded Elastica from Git master, it might be because it's currently inservible on its own. You could try running "composer install" in the Elastica directory. Nemo 12:47, 28 November 2014 (UTC)
- If you download Elastica from ExtensionDistributor it should work fine now. Legoktm (talk) 16:07, 11 December 2014 (UTC)
- I am getting the same error on the REL1_26 branch (of the Elastica extension repo). Also happens when I download the tarball from the ExtensionDistributor.
- It seems composer faithfully installs Elastica in
vendor/ruflin/elastica/lib/Elastica
, but I can't follow where (if?) these PHP files are loaded/autoloaded. - Can anyone provide guidance? Daniel Renfro 18:25, 17 December 2015 (UTC)
Problem with MW 1.24
I've upgraded my site to use MW 1.24.0 with ElasticSearch 1.1.2, CirrusSearch 0.2 and Elastica 1.3.0.0. I was previously using CirrusSearch on 1.23 without any problems. Since the upgrade searches are now failing. Looking at the debug log I'm getting:
Search backend error during full_text search for 'test' after 6. SearchPhaseExecutionException[Failed to execute phase [dfs], all shards failed; shardFailures {[WE7or35fTI2Z2PhOexLS8A][wikidb_content_first][3]: SearchParseException[[wikidb_content_first][3]: query[filtered(((all.plain:test | all:test^0.5) all_near_match:test)~1)->cache(namespace: �
Any thoughts as to what has gone wrong here and how I can fix it? Prh47bridge (talk) 23:07, 8 December 2014 (UTC)
- I've managed to fix the problem for now by rolling back to the version of CirrusSearch I was using with MW 1.23 - this also claims to be version 0.2 but the files are dated 22 April 2014 whereas the new download (claimed to be correct for MW 1.24) has files dated 25 November 2014. Is this a compatibility issue, a bug or something else? Prh47bridge (talk) 17:15, 9 December 2014 (UTC)