jeffcoughlin / farcrysolrpro Goto Github PK
View Code? Open in Web Editor NEWFarCry Solr Pro plugin Supports: Solr 3.5, FarCry 7.0+, 6.2+, 6.1.4+, 6.0.19+
Home Page: http://jeffcoughlin.github.com/farcrysolrpro
License: Other
FarCry Solr Pro plugin Supports: Solr 3.5, FarCry 7.0+, 6.2+, 6.1.4+, 6.0.19+
Home Page: http://jeffcoughlin.github.com/farcrysolrpro
License: Other
If you call deleteByTypename w/ the lObjectIds parameter, the resulting query could potentially exceed the maxClauseSize. This needs to be broken up into batches.
For each search string that returned no results, display a count of the number of times that search string had been searched. This will allow staff to get a better handle on the number of times that was searched.
can URLs for ajax calls include index.cfm
eg
url: "#application.fapi.getwebroot()#/index.cfm?contentType=
was url: "#application.fapi.getwebroot()#/?contentType=
My rewrite rule ignores URLs with .cfm
Add a title to the search log and searches w/o results reports pages.
This was tested using FarCry Express (with p610, latest plugin, and Railo).
When you create a new solr farcry type and you leave the result summary field blank, it causes a CF error:
key [BOOSTVALUE] doesn't exist in struct
StackTrace:
key [BOOSTVALUE] doesn't exist in struct (keys:lDocumentSizeFields,resultTitleField,defaultDocBoost,lIndexedRules,lSummaryFields,lCorePropertyBoost,contentType,bEnableSearch,title,resultImageField,OWNEDBY,resultSummaryField,DATETIMECREATED,LABEL,builtToDate,CREATEDBY,LASTUPDATEDBY,bIndexRuleData,lockedBy,aIndexedProperties,BDEFAULTOBJECT,bIndexOnSave,typename,locked,ObjectID,DATETIMELASTUPDATED) at railo.runtime.type.util.StructSupport.invalidKey(StructSupport.java:30):30 at railo.runtime.type.StructImpl.get(StructImpl.java:78):78 at railo.runtime.util.VariableUtilImpl.get(VariableUtilImpl.java:244):244 at railo.runtime.PageContextImpl.get(PageContextImpl.java:1295):1295 at farcry.plugins.farcrysolrpro.packages.types.solrprodocumentboost_cfc$cf.udfCall(/farcry-express-install/webroot/farcry/plugins/farcrysolrpro/packages/types/solrProDocumentBoost.cfc:78):78 at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:214):214 at railo.runtime.type.UDFImpl._call(UDFImpl.java:418):418 at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:376):376 at railo.runtime.ComponentImpl._call(ComponentImpl.java:610):610 at railo.runtime.ComponentImpl._call(ComponentImpl.java:496):496 at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1809):1809 at railo.runtime.tag.Invoke.doComponent(Invoke.java:210):210 at railo.runtime.tag.Invoke.doEndTag(Invoke.java:183):183 at farcry.core.packages.formtools.list_cfc$cf.udfCall(/farcry-express-install/webroot/farcry/core/packages/formtools/list.cfc:139):139 at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:214):214 at railo.runtime.type.UDFImpl._call(UDFImpl.java:418):418 at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:376):376 at railo.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:774):774 at railo.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1459):1459 at farcry.core.packages.formtools.list_cfc$cf.udfCall(/farcry-express-install/webroot/farcry/core/packages/formtools/list.cfc:175):175 at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:214):214 at railo.runtime.type.UDFImpl._call(UDFImpl.java:418):418 at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:376):376 at railo.runtime.ComponentImpl._call(ComponentImpl.java:610):610 at railo.runtime.ComponentImpl._call(ComponentImpl.java:496):496 at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1809):1809 at railo.runtime.tag.Invoke.doComponent(Invoke.java:210):210 at railo.runtime.tag.Invoke.doEndTag(Invoke.java:183):183 at farcry.core.tags.formtools.object_cfm$cf.call(/farcry-express-install/webroot/farcry/core/tags/formtools/object.cfm:475):475 at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:762):762 at railo.runtime.tag.CFTag.doInclude(CFTag.java:325):325 at railo.runtime.tag.CFTag.cfmlStartTag(CFTag.java:247):247 at railo.runtime.tag.CFTag.doStartTag(CFTag.java:167):167 at farcry.plugins.farcrysolrpro.webskin.solrprocontenttype.edit_cfm$cf._call000262(/farcry-express-install/webroot/farcry/plugins/farcrysolrpro/webskin/solrProContentType/edit.cfm:284):284 at farcry.plugins.farcrysolrpro.webskin.solrprocontenttype.edit_cfm$cf.call(/farcry-express-install/webroot/farcry/plugins/farcrysolrpro/webskin/solrProContentType/edit.cfm:275):275 at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:762):762 at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:715):715 at farcry.core.packages.fourq.fourq_cfc$cf.udfCall1(/farcry-express-install/webroot/farcry/core/packages/fourq/fourq.cfc:442):442 at farcry.core.packages.fourq.fourq_cfc$cf.udfCall(/farcry-express-install/webroot/farcry/core/packages/fourq/fourq.cfc):-1 at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:214):214 at railo.runtime.type.UDFImpl._call(UDFImpl.java:418):418 at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:376):376 at railo.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:774):774 at railo.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1459):1459 at farcry.core.packages.fourq.fourq_cfc$cf.udfCall1(/farcry-express-install/webroot/farcry/core/packages/fourq/fourq.cfc:332):332 at farcry.core.packages.fourq.fourq_cfc$cf.udfCall(/farcry-express-install/webroot/farcry/core/packages/fourq/fourq.cfc):-1 at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:214):214 at railo.runtime.type.UDFImpl._call(UDFImpl.java:418):418 at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:376):376 at railo.runtime.ComponentImpl._call(ComponentImpl.java:610):610 at railo.runtime.ComponentImpl._call(ComponentImpl.java:496):496 at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1813):1813 at railo.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:769):769 at railo.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1459):1459 at farcry.core.webtop.conjuror.invocation_cfm$cf.call(/farcry-express-install/webroot/farcry/core/webtop/conjuror/invocation.cfm:152):152 at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:762):762 at railo.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:179):179 at railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:23):23 at railo.runtime.PageContextImpl.execute(PageContextImpl.java:1991):1991 at railo.runtime.PageContextImpl.execute(PageContextImpl.java:1958):1958 at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:297):297 at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:32):32 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820):820 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534):534 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:475):475 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119):119 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516):516 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226):226 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:929):929 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403):403 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184):184 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864):864 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117):117 at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247):247 at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151):151 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114):114 at org.eclipse.jetty.server.Server.handle(Server.java:352):352 at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596):596 at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1068):1068 at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805):805 at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218):218 at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426):426 at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:508):508 at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34):34 at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40):40 at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:451):451 at java.lang.Thread.run(Thread.java:680):680
Currently we are running the content through tagStripper()
. We also need to strip any MS Word "junk" as well.
If the search result title or teaser is a multivalue result but the only item in the array is an empty string, an error is thrown
It doesn't like the following line:
var http = new com.adobe.coldfusion.http();
When you add a new rule to an existing, indexed page, the rule content is not indexed until the page is updated. This is because the "build to" date is set and adding a rule does not update the parent page's timestamp. Updating rules has the same effect. We need to look up the containing page in the rule's afterSave phase and determine if the page needs to be indexed and, if so, index it.
We will also need to address when a rule is removed from a container.
Hi,
When configuring the settings in FarCry, the plugin is defaulting the host to localhost. In my case that doesn't work (but didn't realise this until later) but if left on localhost when saving the form I get an error:
The element type "BR" must be terminated by the matching end-tag"
Which is generated from line 106 of configSolrServer.cfc. This is because it's trying to read the 404 error as an XML file.
Maybe worth checking the file is an XML file before trying to process?
Cheers
Mark
Since Solr now manages solr.xml itself, we no longer need direct access
In the default webskin when showing the full version of the abbrLink, show the port number if not the default 80.
Message: key [TYPENAME] doesn't exist in struct (keys:teaserImage)
C:\Inetpub\websites\psl.com.au\webroot\farcry\plugins\farcrysolrpro\packages\formtools\UUID.cfc (line: 9)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\formtools\UUID.cfc (line: 22)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\lib\diff.cfc (line: 190)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\lib\diff.cfc (line: 248)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\lib\diff.cfc (line: 235)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\webskin\types\webtopOverviewSummary.cfm (line: 68)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\fourq\fourq.cfc (line: 442)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\fourq\fourq.cfc (line: 332)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\tags\webskin\view.cfm (line: 139)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\webskin\types\webtopOverviewTab.cfm (line: 192)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\fourq\fourq.cfc (line: 442)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\fourq\fourq.cfc (line: 332)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\tags\webskin\view.cfm (line: 139)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\webskin\types\webtopOverview.cfm (line: 79)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\fourq\fourq.cfc (line: 442)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\packages\fourq\fourq.cfc (line: 332)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\tags\webskin\view.cfm (line: 139)
C:\Inetpub\websites\psl.com.au\webroot\farcry\core\webtop\edittabOverview.cfm (line: 67)
Create start/stop helper scripts.
We are currently using ObjectId as the unique document ID. This is fine in 99% of FarCry implementations. The site will never have 2 items with the same objectid. However, if you have a setup that uses multiple "subdirectory" installs, and you want to have a single Solr index shared among them, it is possible (and likely if you created the sites from the same skeleton) that pages could have duplicate ObjectIds.
We should switch the Solr uniqueKey value to a new field in the schema (fcsp_id) which should be a concatenation of the ObjectId and the applciation name. This combination will be reliably unique as an objectid cannot be repeated within the same FarCry application.
Experienced on Railo w/ FC 6.2 and a batch size of 10
When using the SOLRPro webskins on a FarCry 6.2 project and you enter a wildcard for the search (* or :) you get a server 500 error. If I have FarCry email errors to me, I get the following:
ERROR OVERVIEW
Machine: WIFWC9
Instance: coldfusion
Message: Element SPELLCHECK is undefined in STRESULT.
Browser: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
DateTime: {ts '2012-10-23 17:31:02'}
HTTPReferer:
QueryString: q=*&operator=any&lContentTypes=dmHTML&orderby=rank&objectid=185C0160-1CD9-11E2-A5330050569007A3
Bot: not a bot
ERROR DETAILS
Exception Type: Expression
Tag Context: * Q:\inetpub\Develop\FarCry_6\plugins\farcrysolrpro\packages\forms\solrProSearch.cfc (line: 136)
* Q:\inetpub\Develop\FarCry_6\plugins\farcrysolrpro\webskin\solrProSearch\displaySearch.cfm (line: 67)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 440)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 332)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 138)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 74)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 9)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 1)
* Q:\inetpub\Develop\FarCry_6\plugins\farcrysolrpro\webskin\solrProSearch\displayTypeBody.cfm (line: 21)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 440)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 332)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 138)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 74)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 9)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 1)
- Q:\inetpub\Develop\FarCry_6\core\webskin\dmInclude\displayBody.cfm (line: 29)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 440)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 332)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 138)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 74)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 9)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 1)
* Q:\inetpub\Develop\FarCry_6\projects\emptysite\webskin\types\displayPageStandard.cfm (line: 49)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 440)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 332)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 138)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 74)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 9)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 1)
- Q:\inetpub\Develop\FarCry_6\core\tags\navajo\display.cfm (line: 226)
- Q:\inetpub\Develop\FarCry_6\core\tags\navajo\display.cfm (line: 102)
- Q:\inetpub\Develop\FarCry_6\core\tags\navajo\display.cfm (line: 1)
- Q:\inetpub\Develop\FarCry_6\core\webskin\dmNavigation\displayPageStandard.cfm (line: 48)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 440)
- Q:\inetpub\Develop\FarCry_6\core\packages\fourq\fourq.cfc (line: 332)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 138)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 74)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 9)
- Q:\inetpub\Develop\FarCry_6\core\tags\webskin\view.cfm (line: 1)
- Q:\inetpub\Develop\FarCry_6\core\tags\navajo\display.cfm (line: 232)
- Q:\inetpub\Develop\FarCry_6\core\tags\navajo\display.cfm (line: 102)
- Q:\inetpub\Develop\FarCry_6\core\tags\navajo\display.cfm (line: 1)
* Q:\inetpub\Develop\FarCry_6\projects\emptysite\www\index.cfm (line: 22)
I was getting this same error in a project that has custom search pages but in the above I've created a brand new empty site and used the search pages from the plugin (v1.2.1)
We need to document the contentToIndex() function. Perhaps something like a heading of "How do I determine what content gets indexed?" and explain how, by default all items (except draft if it uses the FarCry publishing model) are indexed, but you can write a contentToIndex function that returns a query that contains the objects to index.
When indexing data, get file size based on the fields the user chooses.
When you delete a document boost the re-index for that document needs to be run in the onDelete phase.
Add an optimize to the reload solr utility in the webtop. rename to "reload and optimize solr".
If you use the plugin in a multiple site environment, if you use elevate on one site, it will add it to the XML file.
If you create the same elevation on another site its possible to create duplicates in the XML file.
To fix, in addition to checking the database for duplicates, the XML file itself should also be checked.
The solrProSearch form sets the qf parameter to all available Solr fields for the searched content types that are compatible with the search operator. This causes Solr to search user queries against all those fields, however this may result in unintended matches:
There should be some way (such as a checkbox in the Solr Pro Content Type admin form) to mark custom and default properties on a type so that it is not automatically included in the qf parameter for a search.
Suggested behavior:
Looking at the code, I believe the setting could be implemented within solrProIndexedProperty.lFieldTypes by changing it from a list of name:type doubles to a list of name:type:qf triples.
Certain jQuery UI and other UI elements do not appear properly in IE. Most specifically, the list of fields to build the "highlight" summary are not displayed.
I am getting this error in my SOLR logs - anyone be able to point me in the right direction?
Railo 3.3.2.003 final on Windows
18/04/2012 9:39:00 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: ERROR: [doc=BB26D7E6-09D3-11E1-B3FF005056830000] unknown field 'fcsp_documentsize'
at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:331)
at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:115)
at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:158)
at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:79)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:58)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1372)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:843)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Running Railo 3.2.x, there's no cache defined by default. A new ehCache needs to be created of type "object" in order to save and use portions of the plugin. There's an cfadmin piece for this, but you'd need to have a user supply a password to change it programitcally.
we are currently creating the path to files and images like so:
if (ftType eq "image") {
var filePath = application.fapi.getImageWebroot() & stRecord[field];
} else {
var filePath = application.fapi.getFileWebroot() & stRecord[field];
}
This assumes that the property holding the file stores it in the FarCry default location (/files for files, /images for images, etc). But, in the cfproperty tag for that field, the ftDestination could be set to an alternate location, ftSecure could be used which stores files in the securefiles dir under the project. These files would not be indexed because our code would not find them.
Since we don't parse files until right before they are sent to Solr, the parsed text cannot be used to build the "highlight" field which Solr uses to generate search result summaries. If we move this logic into the previous step where all the fields are combined into a single document, we should be able to get around this limitation.
Allow a custom type to have a method that is run when a record is indexed. This will allow you to have custom logic to influence the data that is sent to solr for a record. This will allow you completely customize how Solr indexes a record.
Clean up some unnecssary object creation
If Solr isn't running, for example in a development environment, when you save a record that is set to "index on save" or "delete on save", the plugin throws an error. Some simple try/catch error handling will fix this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.