Author: gmazza
Date: Tue Jul 30 21:11:57 2013
New Revision: 1508629
URL: http://svn.apache.org/r1508629
Log:
ROL-1965 and ROL-1966 Locale searching and fixing highlighting on Fauxcoly
template. Patches from Maciej Rumianowski.
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm
roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
Tue Jul 30 21:11:57 2013
@@ -47,4 +47,5 @@ public final class FieldConstants {
// the transform rules of
// the analyzer
public static final String WEBSITE_HANDLE = "handle";
+ public static final String LOCALE = "locale";
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
Tue Jul 30 21:11:57 2013
@@ -125,6 +125,10 @@ public abstract class IndexOperation imp
doc.add(new Field(FieldConstants.TITLE, data.getTitle(),
Field.Store.YES, Field.Index.ANALYZED));
+ // text
+ doc.add(new Field(FieldConstants.LOCALE, data.getLocale(),
+ Field.Store.YES, Field.Index.ANALYZED));
+
// index the entry text, but don't store it - moved to end of block
// unstored
doc.add(new Field(FieldConstants.CONTENT, data.getText(),
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
Tue Jul 30 21:11:57 2013
@@ -54,7 +54,7 @@ public class SearchOperation extends Rea
private static String[] SEARCH_FIELDS = new String[] {
FieldConstants.CONTENT, FieldConstants.TITLE,
- FieldConstants.C_CONTENT, FieldConstants.CATEGORY };
+ FieldConstants.C_CONTENT, FieldConstants.CATEGORY,
FieldConstants.LOCALE };
// private static BooleanClause.Occur[] SEARCH_FLAGS = new
// BooleanClause.Occur[] {
@@ -73,6 +73,7 @@ public class SearchOperation extends Rea
private String term;
private String websiteHandle;
private String category;
+ private String locale;
private String parseError;
private int nMax = 500; // Limit documents.
@@ -144,6 +145,16 @@ public class SearchOperation extends Rea
query = bQuery;
}
+ Term tLocale = IndexUtil.getTerm(FieldConstants.LOCALE,
+ locale);
+
+ if (tLocale != null) {
+ BooleanQuery bQuery = new BooleanQuery();
+ bQuery.add(query, BooleanClause.Occur.MUST);
+ bQuery.add(new TermQuery(tLocale), BooleanClause.Occur.MUST);
+ query = bQuery;
+ }
+
searchresults = searcher.search(query, null/* Filter */, nMax,
SORTER);
@@ -227,4 +238,14 @@ public class SearchOperation extends Rea
this.category = category;
}
+ /**
+ * Sets the locale.
+ *
+ * @param locale
+ * the new locale
+ */
+ public void setLocale(String locale) {
+ this.locale = locale;
+ }
+
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
Tue Jul 30 21:11:57 2013
@@ -121,6 +121,10 @@ public class SearchResultsModel extends
search.setCategory(searchRequest.getWeblogCategoryName());
}
+ if (searchRequest.getLocale() != null) {
+ search.setLocale(searchRequest.getLocale());
+ }
+
// execute search
indexMgr.executeIndexOperationNow(search);
Modified: roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm (original)
+++ roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm Tue Jul 30
21:11:57 2013
@@ -8,15 +8,18 @@
<style type="text/css">
span.searchword { background-color:yellow; }
</style>
+ <script type="text/javascript" >
+ //<![CDATA[
+ searchhi_config = {ignore_site : '$url.absoluteSite'};
+ //]]>
+ </script>
<script type="application/x-javascript"
src="$url.page('searchhi.js')"></script>
<script type="text/javascript" >
- <![CDATA[
+ //<![CDATA[
function loadSearchHighlight() {
- SearchHighlight();
- searchhi_string = '$model.term';
- if( location.hash.length > 1 ) location.hash = location.hash;
+ searchhi.highlightWord(document.getElementById("search_results"),
'$model.term');
}
- ]]>
+ //]]>
</script>
#end
<link rel="stylesheet" type="text/css" href='$url.page("custom.css")' />
@@ -73,11 +76,13 @@
$text.get( "macro.weblog.searchgoogle", [$model.term,
$url.absoluteSite, $url.site, ${model.weblog.handle}] )
#if ($model.hits > 0)
- #showNextPrevSearchControl($pager)
- #set($pager = $model.getWeblogEntriesPager())
- #showWeblogEntriesPager($pager)
- <div id="nextprev">
- #showNextPrevEntriesControl($pager)
+ <div id="search_results">
+ #showNextPrevSearchControl($pager)
+ #set($pager = $model.getWeblogEntriesPager())
+ #showWeblogEntriesPager($pager)
+ <div id="nextprev">
+ #showNextPrevEntriesControl($pager)
+ </div>
</div>
#else
<br />
Modified: roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js (original)
+++ roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js Tue Jul 30
21:11:57 2013
@@ -53,6 +53,7 @@ searchhi = {
googleSearchHighlight: function() {
var ref = document.referrer;
+ if (ref.indexOf(searchhi_config.ignore_site) == 0) return;
if (ref.indexOf('?') == -1) return;
var qs = ref.substr(ref.indexOf('?')+1);
var qsa = qs.split('&');