<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2992995164440828040</id><updated>2024-09-09T21:28:50.206-07:00</updated><category term="ColdFusion 10"/><category term="ColdFusion9 : Solr Introduction"/><category term="Solr"/><category term="Verity"/><category term="Verity to Solr migration"/><category term="search syntax in ColdFusion Solr"/><title type='text'>ColdFusion and I</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2992995164440828040.post-2127822567952695936</id><published>2012-07-26T08:55:00.002-07:00</published><updated>2012-07-27T07:48:17.751-07:00</updated><title type='text'>Debugging ColdFusion WebSockets</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Debugging ColdFusion websockets is not the easiest things, at least not as easy as using websockets. ColdFusion 10 provides a seamless integration to websockets. It provides it&#39;s own messaging layer and client side JS functions to subscribe and publish messages to a web sockets. As CF websockets works Asynchronously that makes debugging even more complicated.&lt;br /&gt;
&lt;br /&gt;
However CF10 websockets messages provides some sort of information. It is a bit difficult for beginners.&lt;br /&gt;
Specifically when there is an error message. it is very difficult to determine it is from client side or server side.&lt;br /&gt;
&lt;br /&gt;
Here is a small tool that will help the beginners in CF10 websockets to debug their application(from client side). This tool will enable a CF programmer to see what is going in and out of the websocket at the browser. It also highlights if there&amp;nbsp; is any error. &lt;br /&gt;
&lt;br /&gt;
I have placed this on &lt;a href=&quot;http://cfwsdebugger.riaforge.org/&quot; target=&quot;_blank&quot;&gt;RiaForge&lt;/a&gt;. To start with, copy this folder anywhere in your webroot&amp;nbsp; and run index.cfm&lt;br /&gt;
I am testing the final version(v6) of chat application that is available on my&lt;a href=&quot;http://www.adobe.com/devnet/coldfusion/articles/html5-websockets-coldfusion-pt2.html&quot; target=&quot;_blank&quot;&gt; devnet article&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;221&quot; src=&quot;data:image/png;base64,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WAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKAWAMAAIQAINYAAAAhAIg1AABACABiDQAAEAKIxToiIgLEGgAA4E1DQqyXZas+Tvr53RV/fwoAAAC8Mby74u8fJ/3Mi/XMPdVTtv324cbid1f8/S8Lv4ACBQoUKK+9vLvi7x9uLJ6y7bdPU8ojIiJkPp8vPGbvpzvKp2z77eOknz/cWAwFChQoUF57+Tjp5ynbfvt0R3l4zF6fzyfz+XwRERHhMXunpVZBgQIFCpQ3qoTH7I2IiMBijYgAAAAA3jCoRP///dW3Bm8mMAsAAAAASUVORK5CYII=&quot; width=&quot;400&quot; /&gt; &lt;br /&gt;
&lt;br /&gt;
Provide the URL of the application you would like to debug. Now you can only debug an application which has same domain as from where you are running this debugger. i.e here debugger is running from localhost, so I can&#39;t debug any application running on example.com. I can only debug applications running under localhost.&lt;br /&gt;
&lt;br /&gt;
This will take you to the debug page.&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;236&quot; src=&quot;data:image/png;base64,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X/u8K7a/+m1b/sOn73z7lkNf6oau3/eRK771mstvf8l7ps77qy2vurJ9zuXtN53qggMA42A9BsVNn/+Z7pd/9p5eXPz8qwXFRbWFXcG9Oa0qJiOxH1uvqo2K41IDnL5+/+YL/vK2V723ff6l23/5r265qNcDP/jkfW/7xkt+54sv+OtN/9fhZx/tTfzjr539tjtf9Ce3n/vu9q9dfqe3ngIAK2AdBsUXHl5802nvDag/e8+pCor333DJxFU3LL6Z86qtpX8uzVF+O2NktuCNj6Pf8esXtvfH1nDjxXfRLm4jVrwV2VZhptj6U9USrOeSG+6PzDjkdi+54YarcnHu/hsuSex6/+ZrqQn0/rkjLGduo+mdXbG94Ax10Ybz/+y211xxxwUXbfifv3nftd1u9/iJJ75678e+dO9H/uWBq7848+dfv791Yv65brf7qW1/9Ae3/cq773jZ5e2XvFNQBABWwvoLisWvsSl/pc3aB8XS6L840r//hkvCSFYMj+Fsg381uJVVX9jeJoIEU808ieKt1LaCdRbf8pqtllLqyuxCo+2GM2X2omYHK0GxPD210czOrtxecKb677eed9mW17556/kXf/PFnYXOkacfu+V7//Tf/uU//uipH3S73d2PfvM1X/mfZh7b2e12Dx9/9L/98y9etvWCN2+54F3bBEUAYAWst6BYuovYv7u4ikGxanHMXopXpX+WPg8Y3KEqPbHSbweNFKySbVLFW41tFTWsltrVNtxu/g2iKxUUU/Pkdnbl9oIz1UUbXv2WLa/6va1nvXnDb3VPdme+2/7czF+96sZf+NGTD3W73T2P3H7O1//dTfu/+OMf/6Qz3/k///WX/nDzeZdsPO/dd158qgsOAIyDdRYUr/75Z7880S0/+l9ps/Z3FNOj+VIATCeofhhdbhQYKtukirdS20olz4bVUrsLTbebzeErFRRTG63d2RXZC85UF214zVu2vPJ3t571h7f8Vvdk957vbv/8zAdf9c3FO4p7Hrnjpf/yP960/wv/9pMfdzqd1339l/9g88vftOnlgiIAsCLWV1C8p1VNiRPdwVfanJZBsbDA8vKioDh0xArf91sqZ+YzioIi68B/33LhZXf8xiXtl//eN855buHo8eNPb33w66/72i8+eOT+brd75/c3n//V/3DfT+/qdrs/Pvrd133tf3lz+7w3tH/9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2XF7cQyTqJ/g1bXy9aq2c4idRDWLJ5YKpA7N6H3U6uXENQuKsJpKX8BeNpf+GMa4q6mZtZTIiTCW1tGptz40rZDaMMYKMVpjrWlzq2NV63Xlg2JwIwfWwly7nWxvxftcS/8+c1pnrmbWUvkowJhbL6feutG4QgTFNVF4cyusHVFx5a1yna5CUAQAAOB0JigCAAAQEBQBAAAICIoAAAAEBEUAAAACgiIAAAABQREAAICAoAgAAEBAUAQAACAgKAIAABAQFAEAAAgIigAAAAQERQAAAAKCIgAAAAFBEQAAgICgCAAAQEBQBAAAICAoAgAAEBAUAQAACAiKAAAABARFAAAAAoIiAAAAAUERAACAgKAIAABAQFAEAAAgICgCAAAQEBQBAAAICIoAAAAEBEUAAAACgiIAAAABQREAAICAoAgAAEBAUAQAACAgKAIAABAQFAEAAAgIigAAAAQERQAAAAKCIgAAAAFBEQAAgICgCAAAQEBQBAAAICAoAgAAEBAUAQAACAiKAAAABARFAAAAAoIiAAAAAUERAACAgKAIAABAQFAEAAAgICgCAAAQEBQBAAAIlIPihRdeKCgCAACcySJB8f/563vOffttL37DFx4CAADgjPTiN3zh3LffNgiKr37vnpdfvv3st2548Ru+8J9fd5WHh4eHh4eHh4eHh4fHGfV48Ru+cPZbN7z88u3nv3vnhRdeOHHs2LFXvP59579r58sv337u2287+60bPDw8PDw8PDw8PDw8PM6ox7lvv+3ll28//107X/H693W73Yljx45deOGFr3j9+y64YreHh4eHh4eHh4eHh4fHGft4xevfd+GFFy4GxZ4LAQAAOIP1v9vm/wca64J81v9tiwAAAABJRU5ErkJggg==&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
The first half of the debug page will show your application and the bottom part shows the debug information about websocket. The latest debug information goes on the top. There are tabs to see only incoming/outgoing/error/Info messages. In this snapshot the first message was:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; display: inline !important; float: none; font-family: &#39;Lucida Grande&#39;, sans-serif; font-size: 12px; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;i&gt;&lt;b&gt;{&quot;ns&quot;:&quot;coldfusion.websocket.channels&quot;,&quot;type&quot;:&quot;welcome&quot;,&quot;authKey&quot;:&quot;2075AE5B79AE803A351EB9A60652938D&quot;,&quot;subscribeTo&quot;:&quot;&quot;,&quot;appName&quot;:&quot;helloworld&quot;}Thu Jul 26 2012 15:54:12 GMT+0530 (India Standard Time)&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Which says&lt;span style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; display: inline !important; float: none; font-family: &#39;Lucida Grande&#39;, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; display: inline !important; float: none; font-family: &#39;Lucida Grande&#39;, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;/span&gt; it is an outgoing( &amp;lt; is for outgoing message) welcome message and is sent to the server to establish a websocket connection. However at this point of time it is not subscribed to any channel. Go to info tab it shows :&lt;br /&gt;
&lt;br /&gt;
&lt;i style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-family: &#39;Lucida Grande&#39;, sans-serif; font-size: 12px; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;b&gt;CONNECTED TO COLDFUSION WEBSOCKET&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-family: &#39;Lucida Grande&#39;, sans-serif; font-size: 12px; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/i&gt;The message at the top indicates it&#39;s an incoming message and there is no error in connection(code=0).&lt;br /&gt;
Now on the application (upper part of debugger ) I click on I Agree. This authenticates and subscribe to the channel &#39;world&#39;. As you can see in the Info tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br /&gt;
Now you are connected to CF websockets and subscribed to channel world. If I again click on &#39;I Agree&#39;( this again tries to resubscribe client to channel &#39;world&#39;) debugger will show an error message.&lt;br /&gt;
&lt;br /&gt;
Here is the snapshot of error tab.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Likewise you can view all incoming and outgoing messages from your browser.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;66&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: This tool has some limitations too. If your application is showing images/css which has a relative path then this tool won&#39;t work. This tool will try to interpret it as it&#39;s own relative. though not tested if you copy contents of &#39;wsdebug&#39; folder to your application it should work.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/2127822567952695936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2992995164440828040/2127822567952695936' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/2127822567952695936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/2127822567952695936'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/2012/07/debugging-coldfusion-websockets.html' title='Debugging ColdFusion WebSockets'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2992995164440828040.post-3427133932983349715</id><published>2012-05-24T05:39:00.002-07:00</published><updated>2012-05-28T05:44:48.463-07:00</updated><title type='text'>Rancho: The Code Coverage tool for ColdFusion</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Code coverage is an essential part of testing, it reflects the completeness of the testing done. Code coverage is instrumental in providing information about how much of the total code is actually tested by the test suite. However code coverage does not guaranty the quality of testing but it reflects the area covered in testing.&lt;br /&gt;
&lt;br /&gt;
Another important point is white box testing and code coverage(functional) are two separate activities. while the former determine the probable inputs and output for a function, the later determine if all lines and branching conditions of the function are executed, in short all paths have been covered or not. There are quiet a bunch of tools available for Java applications. But for ColdFusion applications, till now there is no way to know the code coverage.&lt;br /&gt;
&lt;br /&gt;
This post provides an experimental tool, Rancho, to get code coverage for any ColdFusion application. Rancho can be used as a ColdFusion Builder extension or as an application. &lt;a href=&quot;https://github.com/ksaini/Rancho_CFB&quot; target=&quot;_blank&quot;&gt;Download Rancho&lt;/a&gt; as an extension to CFB.&lt;br /&gt;
&lt;br /&gt;
Rancho is the code coverage tool written in CFML for code coverage of CFML application. There are different metrics a code coverage tool can provide(line coverage,functional coverage,decision coverage) but as of now Rancho only provides the line coverage.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;






How to get code coverage?&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
There are 3 steps to get the code coverage.&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Instrument your CFML application using Rancho.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Run your test suite.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Generate a report of code coverage using Rancho.&lt;/li&gt;
&lt;/ol&gt;
Steps 2 and 3 can be iterated if you want to tun your testcases in phases.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;





Using Rancho as an extension to CFB&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Download the Rancho and add it as an extension to CFB. View&lt;a href=&quot;http://help.adobe.com/en_US/ColdFusionBuilder/Using/WSf01dbd23413dda0ea6b27fe1213a53315f-7fd8.html&quot; target=&quot;_blank&quot;&gt; &lt;b&gt;this&lt;/b&gt;&lt;/a&gt; article to add&amp;nbsp; an extension to CFB.&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&lt;i&gt;Note: Since this project is hosted on Github and it provides project to download as a zip. This zip can not directly be imported to CFB as extension because extension files are one level down. So either rezip at the level of ide_config.xml OR directly download from &lt;b&gt;&lt;a href=&quot;http://rancho.riaforge.org/index.cfm?event=action.download&quot; target=&quot;_blank&quot;&gt;RIAForge&lt;/a&gt;&lt;/b&gt;&lt;/i&gt;&lt;/h4&gt;
&lt;i&gt;&lt;b&gt;You can also run Rancho as an application. &lt;a href=&quot;https://github.com/ksaini/Rancho_standalone&quot; target=&quot;_blank&quot;&gt;Download it from here&lt;/a&gt;.&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;STEP 1 - Instrument:&lt;/b&gt;&amp;nbsp; Go to the Application folder in CFB navigator you need to instrument. Do a right click and select Rancho -&amp;gt; Instrument&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKSdUlZR9giN_zrb61swm4_pGfe41JXr6182HYIekP1o1mOTkXgJBiBT3AOB1JZqllDVhAyJW4kzqzMkwP5fQOKHgZe1Y-Lf-ZI-0FfGix5t9tkUge5pLC2FqCLyaWQ4q_EH1IiTl4l4/s1600/Rancho_CFB_instrument.bmp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKSdUlZR9giN_zrb61swm4_pGfe41JXr6182HYIekP1o1mOTkXgJBiBT3AOB1JZqllDVhAyJW4kzqzMkwP5fQOKHgZe1Y-Lf-ZI-0FfGix5t9tkUge5pLC2FqCLyaWQ4q_EH1IiTl4l4/s400/Rancho_CFB_instrument.bmp&quot; width=&quot;340&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Figure 1: Rancho Instrumentation&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
This will first take backup of the existing folder and start instrumenting all files in that folder.&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnT7o4jyzVJs54TcFtzDRviqaaHvygucQs3xNSsaYYhJlGdf21xZav1lIRxhWVPO5hs6lznFjaNIKgNOFBl3-Oy-Sn4T5bvUICZBuE3gkTE-d1X7igN-vC-DlGglaE9jdLWIMIhhyTnD0/s1600/Rancho_CFB_instrument2.bmp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnT7o4jyzVJs54TcFtzDRviqaaHvygucQs3xNSsaYYhJlGdf21xZav1lIRxhWVPO5hs6lznFjaNIKgNOFBl3-Oy-Sn4T5bvUICZBuE3gkTE-d1X7igN-vC-DlGglaE9jdLWIMIhhyTnD0/s400/Rancho_CFB_instrument2.bmp&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Figure 2: Instrumentation Done&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Note: Instrumentation is a one time activity. Do not instrument more than once. &lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;STEP 2 - Running test suite: &lt;/b&gt;Once instrumentation is done you can proceed to running your testcases for the application instrumented.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;STEP 3 - Getting Code Coverage Data:&lt;/b&gt; Once you are done with your testing or otherwise you can extract a report of code coverage. From Figure 1 click on Rancho -&amp;gt; Code Coverage or you can directly access http://localhost:8500/Rancho/handlers/coveragegrid.cfm&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilnydq7e_owZdSSGBqGd616AK2nwzpM9_0zMPwQ1O0UY0AUl5F_fCv6MDFT4boWP11XkrguSJ5N3sYLSJR6yw7dtx9aoihQ3AwcoRirQfOgK1Eh3eOmoD5AossHRTcdr-Uci0Lh9cvOYU/s1600/Rancho_CFB_report1.bmp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilnydq7e_owZdSSGBqGd616AK2nwzpM9_0zMPwQ1O0UY0AUl5F_fCv6MDFT4boWP11XkrguSJ5N3sYLSJR6yw7dtx9aoihQ3AwcoRirQfOgK1Eh3eOmoD5AossHRTcdr-Uci0Lh9cvOYU/s400/Rancho_CFB_report1.bmp&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Figure 3: Code Coverage preview&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
This will show you the preview of your code coverage, indicating total coverage of application. Also it lists code coverage for individual files. You can further drill down to individual files to see executed and un-executed lines.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbmS7ECdzKgLaSptRZh2HZpsGWEzBxjCKVaYKaPp_kvbYvx5I_C1ve52cvi7qu8wBURS6jLglyHeDZmXdWGrgyYaT6k8BDCuO5943WfQ4VV_qI_GhfyRlmAw6EgWQ_K2KQEGcf24EbOAQ/s1600/Rancho_CFB_report2.bmp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;208&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbmS7ECdzKgLaSptRZh2HZpsGWEzBxjCKVaYKaPp_kvbYvx5I_C1ve52cvi7qu8wBURS6jLglyHeDZmXdWGrgyYaT6k8BDCuO5943WfQ4VV_qI_GhfyRlmAw6EgWQ_K2KQEGcf24EbOAQ/s400/Rancho_CFB_report2.bmp&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Figure 4: Code Coverage details&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;This shows individual CF statements executed(green) and&amp;nbsp; un-executed CF statements(red).&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;





Configuring Rancho&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
While instrumenting Rancho adds a trace &lt;i&gt;before&lt;/i&gt; each CF statement. Now there could be some statements that can not be traced like&lt;i&gt; &lt;cfargument&gt;&lt;/cfargument&gt;&lt;/i&gt; as putting a trace before or after could be an issue. also there are some tags for which trace can not be put before e.g &lt;cfcase&gt; or .&lt;/cfcase&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
To handle this 2 files &lt;i&gt;doNottrace.txt&lt;/i&gt; and &lt;i&gt;putTraceAfter.txt&lt;/i&gt; are placed at Rancho\handlers\config. Add any tag/end tag which falls in above category. As of now only some tags/end tags have been added. As you find more such tags please update them to the repository.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;





Limitations&lt;/h3&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Supports only tags not script, so any CFML code inside &lt;i&gt;&lt;cfscript&gt;&lt;/cfscript&gt;&lt;/i&gt; will be uncovered.&lt;/li&gt;
&lt;li&gt;Multiple level of folders is not supported yet. Instrument and generate report for single folder level at a time.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Instrumentation of single file is not supported. Only folders can be instrumented.&lt;/li&gt;
&lt;li&gt;Only line coverage is provided. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;





Improvements &lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Rancho is an experimental code coverage tool so there are some improvements required like:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Support for &lt;cfscript&gt;.&lt;/cfscript&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Multi folder support&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- UI improvements&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Fine tuning tags in &lt;i&gt;doNottrace.txt&lt;/i&gt; and &lt;i&gt;putTraceAfter.txt&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;i&gt;- &lt;/i&gt;Enhance Rancho to extend Function and Decision coverage&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
I have created a github &lt;b&gt;&lt;a href=&quot;https://github.com/ksaini/Rancho_CFB&quot; target=&quot;_blank&quot;&gt;project&lt;/a&gt;&lt;/b&gt;(I am new to it). Please contribute to it.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;PS:&amp;nbsp; You can also run Rancho as an application. &lt;a href=&quot;https://github.com/ksaini/Rancho_standalone&quot; target=&quot;_blank&quot;&gt;Download it from here&lt;/a&gt;. Place Rancho in webroot of CF and run index.cfm. Also make sure the folder you are instrumenting has write permissions.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/3427133932983349715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2992995164440828040/3427133932983349715' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/3427133932983349715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/3427133932983349715'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/2012/05/rancho-code-coverage-tool-for.html' title='Rancho: The Code Coverage tool for ColdFusion'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibKSdUlZR9giN_zrb61swm4_pGfe41JXr6182HYIekP1o1mOTkXgJBiBT3AOB1JZqllDVhAyJW4kzqzMkwP5fQOKHgZe1Y-Lf-ZI-0FfGix5t9tkUge5pLC2FqCLyaWQ4q_EH1IiTl4l4/s72-c/Rancho_CFB_instrument.bmp" height="72" width="72"/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2992995164440828040.post-4536367724478270655</id><published>2012-05-19T04:19:00.000-07:00</published><updated>2012-05-19T04:55:25.249-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion 10"/><category scheme="http://www.blogger.com/atom/ns#" term="Solr"/><category scheme="http://www.blogger.com/atom/ns#" term="Verity"/><category scheme="http://www.blogger.com/atom/ns#" term="Verity to Solr migration"/><title type='text'>ColdFusion 10: Verity to Solr migration</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Now that ColdFusion 10 is out and with that support for Verity has been dropped. In CF901 both Solr and Verity were supported. But now only Solr search server is available.&lt;br /&gt;
&lt;br /&gt;
If you are migrating from ColdFusion 9.0.1 to ColdFusion 10 you can convert your Verity collections in CF901 to Solr and then migrate to CF10.&lt;br /&gt;
&lt;br /&gt;
If you are still on CF8 (which do not have Solr) and directly migrating to CF10(which do not have Verity), there&#39;s no direct way to migrate your verity collections created in CF8 to Solr collection in CF10.&lt;br /&gt;
&lt;br /&gt;
This post provides a tool to convert your Verity collections to Solr. Download this&lt;b style=&quot;background-color: white;&quot;&gt; &lt;a href=&quot;https://github.com/ksaini/Verity-to-Solr&quot; style=&quot;color: blue;&quot; target=&quot;_blank&quot;&gt;zip&lt;/a&gt;&lt;/b&gt;&lt;span style=&quot;background-color: white;&quot;&gt; &lt;/span&gt;from GitHub and follow instructions from readme file.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
However there is a difference the way a collection is created and searched. For example, &lt;span style=&quot;font-size: small;&quot;&gt;Verity requires language at collection creation time while Solr language is mentioned while index&lt;/span&gt;ing. See&lt;b style=&quot;color: blue;&quot;&gt; &lt;a href=&quot;http://kunalsaini.blogspot.in/2009/07/searching-in-solr.html&quot; target=&quot;_blank&quot;&gt;Solr in ColdFusion9&lt;/a&gt;&lt;a href=&quot;http://kunalsaini.blogspot.in/2009/07/searching-in-solr.html&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/b&gt; on how searching is done in Solr.&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/4536367724478270655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2992995164440828040/4536367724478270655' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/4536367724478270655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/4536367724478270655'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/2012/05/coldfusion-10-verity-to-solr-migration.html' title='ColdFusion 10: Verity to Solr migration'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2992995164440828040.post-4361211228394067742</id><published>2009-07-09T01:12:00.000-07:00</published><updated>2009-07-13T01:42:26.463-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="search syntax in ColdFusion Solr"/><title type='text'>Searching in Solr</title><content type='html'>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;The syntax of search in Solr is bit different from that in Verity. Verity has different types like- simple, internet and natural. But in ColdFusion9 Solr has two types of search: Standard(default) and Dismax. In addition to this Solr is configurable and other search types can be defined.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;In Verity following code can be used to search for documents having &#39;filmed&#39; or &#39;filming&#39; :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:courier new;font-size:85%;&quot;&gt;&lt; cfsearch name=&quot;myveritysearch&quot; face=&quot;courier new&quot;&gt;                   collection=&quot;myverity&quot;&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;                   type=&quot;explicit&quot;&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;                   criteria=&#39;&lt; WILDCARD&gt;`film*`&#39; &gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:arial;&quot;&gt;In Solr type=&quot;explicit&quot; is not valid. Default type for Solr is standard and search code is:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   collection=&quot;mysolr&quot;&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   criteria=&quot;film*&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;? :To perform a single character wildcard search&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*&lt;/span&gt; :To perform a multiple character wildcard search&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Note:&lt;/span&gt; * or ? can&#39;t be used as the first character of a  search.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Searching in a particular document(mydoc.html):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; collection=&quot;mysolr&quot; criteria=&quot;film*  AND title:mydoc.html&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;NOT&lt;/span&gt; searching in a particular document(mydoc.html).:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; collection=&quot;mysolr&quot; &lt;span style=&quot;font-weight: bold;&quot;&gt;criteria=&quot;-title:mydoc.html&quot;&lt;/span&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;Fuzzy Search in Solr:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;Solr supports fuzzy searches , for example, to search words like roam,foam ctc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   collection=&quot;mysolr&quot;&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   criteria=&quot;roam~&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;Proximity search: &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Solr can search two words with a given proximity to each other. e.g. to search &quot;solr&quot; and &quot;spreadsheets&quot; within a specified distance(10 words):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt; name=&quot;mysolrsearch&quot; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   collection=&quot;mysolr&quot;&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   criteria=&#39;&quot;solr spreadsheet&quot;~10&#39;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);font-size:100%;&quot; &gt;Searching string:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;Solr by default searches for words. To search  strings say &quot;ColdFusion Green&quot; Or  &quot;Solr search&quot; :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   collection=&quot;mysolr&quot;&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   criteria=&#39;&quot;ColdFusion Green&quot; OR &quot;Solr search&quot;&#39;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;Another way is to use search type=&quot;dismax&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   collection=&quot;mysolr&quot;&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;type=&quot;dismax&quot; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   criteria=&quot;ColdFusion Green&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);font-size:100%;&quot; &gt;Boosting a Term:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;Solr provides the relevance level of matching documents based the terms found. To boost a term use the caret,&quot;^&quot; symbol followed by a boost factor.&lt;br /&gt;&lt;br /&gt;For example if you are searching for &lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-size:100%;&quot; &gt;coldfusion &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;and &lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-size:100%;&quot; &gt;solr &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;and you want &quot;&lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-size:100%;&quot; &gt;coldfusion&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&quot; to be more relevent:&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;cfsearch &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:85%;&quot;  &gt;name=&quot;mysolrsearch&quot; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   collection=&quot;mysolr&quot;&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;&quot; &gt;                   criteria=&quot;coldfusion^5 solr&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:arial;&quot;&gt;The above will show results having &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;coldfusion &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:arial;&quot;&gt; first.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/4361211228394067742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2992995164440828040/4361211228394067742' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/4361211228394067742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/4361211228394067742'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/2009/07/searching-in-solr.html' title='Searching in Solr'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2992995164440828040.post-9181443615668386199</id><published>2009-07-08T02:04:00.000-07:00</published><updated>2009-07-12T22:58:46.791-07:00</updated><title type='text'>Working with Solr: Creating Collections and Indexing them</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Solr in ColdFusion needs some basic code change in creating ,indexing and searching a collection.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Creating Collection:&lt;br /&gt;While creating a collection ColdFusion requires an attribute &#39;&lt;span style=&quot;font-style: italic;&quot;&gt;engine&lt;/span&gt;&#39; to indentify a collection as Solr or Verity. Default value of &#39;&lt;span style=&quot;font-style: italic;&quot;&gt;engine&lt;/span&gt;&#39; is verity. Defining the attribute &#39;&lt;span style=&quot;font-style: italic;&quot;&gt;engine&lt;/span&gt;&#39; is one time activity, for indexing and search ColdFusion will automatically identify the collection type.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;                  &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;&lt; cfcollection action=&quot;create&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;                                  &lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:100%;&quot;  &gt;collection=&quot;mysolr&quot;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:100%;&quot;  &gt;               key=&quot;#expandpath(&#39;.&#39;)#&quot;                         &lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:100%;&quot;  &gt;                                  type=&quot;path&quot;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:100%;&quot;  &gt;               &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:courier new;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;engine=&quot;solr&quot;&lt;/span&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This will create a solr collection named &#39;mysolr&#39;. also there is no need to define &lt;span style=&quot;font-style: italic;&quot;&gt;language &lt;/span&gt;and &lt;span style=&quot;font-style: italic;&quot;&gt;categories &lt;/span&gt;at the time of creation of collection,language can be defined at the time of indexing a collection.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Indexing Collection:&lt;br /&gt;&lt;br /&gt;Indexing a Solr collection is similar to Verity.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;color: rgb(0, 0, 153);&quot;&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;&lt; cfquery name=&quot;getCourses&quot; datasource=&quot;cfdocexamples&quot;&gt;&lt;br /&gt;SELECT * FROM COURSES&lt;br /&gt;&lt; /cfquery&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt; cfindex action=&quot;Update&quot;&lt;br /&gt;      query=&quot;getCourses&quot;&lt;br /&gt;      collection=&quot;mysolr&quot;&lt;br /&gt;      type=&quot;Custom&quot;&lt;br /&gt;      key=&quot;Course_ID&quot;&lt;br /&gt;      title=&quot;Courses&quot;&lt;br /&gt;      body=&quot;Course_ID,Descript&quot;&lt;br /&gt;      custom1=&quot;Course_Number&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-size:100%;&quot; &gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;For indexing a Solr collection in some other languages&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;than English&lt;/span&gt;, &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;language &lt;/span&gt;attribute can be defined&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;in &lt;&gt; tag.&lt;br /&gt;&lt;br /&gt;Solr supports following languages:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Danish&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Dutch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Finnish&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• French&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• German&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Italian&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Norwegian&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Spanish&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Portugese&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Russian&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Swedish&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Chinese&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Japanese&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Korean&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Czech&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Greek&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:times new roman;&quot; &gt;• Thai&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However, Solr supports indexing documents in any language. If the document has a language (for example, Arabic) not listed above, it can still index the content(as english), but stemming will not be available in search.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/9181443615668386199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2992995164440828040/9181443615668386199' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/9181443615668386199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/9181443615668386199'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/2009/07/working-with-solr-creating-collections.html' title='Working with Solr: Creating Collections and Indexing them'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2992995164440828040.post-2155663092380592110</id><published>2009-07-02T22:26:00.000-07:00</published><updated>2009-07-12T22:37:36.698-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion9 : Solr Introduction"/><title type='text'>Solr in Coldfusion9</title><content type='html'>ColdFusion9  now provides support for Solr search engine as an alternate to Verity. Solr is an enterprise search server based on Lucene java search library. Solr provides features like indexing searching ,caching, and a web Administrator interface.  In ColdFusion Solr will run as a seperate service on a server  Jetty. Solr can be installed along with ColdFusion and also as a seperate installer.&lt;br /&gt;&lt;br /&gt;Configuring Solr:&lt;br /&gt;&lt;br /&gt;On Administrator page ColdFusion provides interface to configure Solr. Log on to Administrator page -&gt; Data &amp;amp; Services-&gt; Solr Server. You can configure Solr Home path and port on this page.  By default Solr runs on port 8983. On your browser go to&lt;br /&gt;                     &lt;br /&gt;                             http://localhost:8983/solr&lt;br /&gt;&lt;br /&gt;This is the Admin page for Solr, this will show you all solr collections and information about them. Any collection can be searched from here also.&lt;br /&gt;&lt;br /&gt;If port 8983 is already blocked  then Solr can be configured to run on different port by following steps:&lt;br /&gt;&lt;br /&gt;1. Go to the location where Solr is installed (eg: c:\Coldfusion\solr). Go to folder etc and open the file jetty.xml.&lt;br /&gt;2. Now search for port 8983 and replace all with new port say 8984.&lt;br /&gt;3. Now log on to admin page-&gt;solr server-&gt;Show advance settings and change the Solr Admin port to 8984 and submit.&lt;br /&gt;4. Restart Solr services.(Go to location where Solr is installed and run ./cfsolr restart)</content><link rel='replies' type='application/atom+xml' href='http://kunalsaini.blogspot.com/feeds/2155663092380592110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2992995164440828040/2155663092380592110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/2155663092380592110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2992995164440828040/posts/default/2155663092380592110'/><link rel='alternate' type='text/html' href='http://kunalsaini.blogspot.com/2009/07/solr-in-coldfusion9.html' title='Solr in Coldfusion9'/><author><name>Kunal Saini</name><uri>http://www.blogger.com/profile/04941691356291007818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGPP5WgL8AFMekIuunzrnWTP3uG9GgTjQAqX9SdnZucNsJmH0LQGCkQs83kb0bKCDLNodjx_l0T6n4mevJoNmB2jAYxe4JCyS7FfgCzEchQSDeRvMqU3-Eia_7UtWf7Y/s220/kunal_pic.jpg'/></author><thr:total>0</thr:total></entry></feed>