DNN Search Automatic Reindexing - dotnetnuke

Is there a way in DNN 6.0 to automatically reindex the search results. Because unless we click on host->Search Admin->Reindex Content some of the recently uploaded content would not appear in search results until the content is manually reindexed. I wish to know if there is a way to automate this process so that it'll happen on a daily basis.
Thanks in advance.

The "search engine schedule" should handle this for you. It's possible that the schedule is disabled or needs to be run more frequently, check under Host > schedule.

Related

Azure Search Index Indexer Issues

We are seeing some issues with our indexer throwing an error every other time it tries to run the indexer on our data-source. Our indexer runs on a schedule and we have Sql server "Change Tracking" turned ON for db and the table that we use for indexing. The indexer runs successfully every other time which is strange. I will attach a picture to show you the indexer status page. The odd thing is it shows an error saying:
"Indexing was stopped because the data source has no change detection policy and corresponding quota of 100000 documents has been reached. To index more documents please add a change detection policy".
So like I mentioned we have the "Change detection policy" set (Change Tracking is ON) and indexer running on a schedule. And it works every other time. We are on a "standard" billing tier so we do not have a quota "100000". We believe that this error might also be contributing to our counts in the index data-source and index table not to match. The indexer is NOT deleting the ID that have been removed from our source table.
I have attached an image to show the status page of our indexer. Please help! We have launched our search and are seeing issues pretty late in the game.
Thanks in advance and let me know if you need any more info.
It's not enough to enable change tracking on the SQL side. You also need to set up an Integrated Change Tracking policy on your Azure Search datasource. This is described in the documentation

0% of the site has been indexed in drupal how to solve this isse?

Your search yielded no results in Drupal 7.12. I have index 0%. In my local it is working but on the staging server it is not working.Check if your spelling is correct. Remove quotes around phrases to search for each word individually. bike shed will often show more results than "bike shed". Consider loosening your query with OR. bike OR shed will often show more results than bike shed.
I got a solution just install spambot module and configure then run the cron manually.
Should just need to run the cron, /admin/config/system/cron, either manually or set the "Run cron every" setting. Every time the cron runs it indexes a certain amount of the site.

Run incremental crawl using NCrawler

When we use NCrawler with SOLR, is there any way to run incremental crawling and indexing? I dont want my crawler to fetch the complete data every time it crawls. Is there any way to make the crawl incrtemental ?
Thanks in advance.
There is not anything built into NCrawler for this. You will need to create your own processing to handle this. However, the extensible IPipelineStep mechanism will allow you to create any process around your crawling that you want. For example you could store each visited url in a database with along with a hash of the page content to determine when pages change and only process the changed pages to the index.

How do I recover a previous version of a page layout?

I modified a page layout in our QA environment using Apex and didn't refresh from the server (my last refresh from the server was 10 days ago). Someone else made a TON of changes using the web interface in between then. I just overwrote all of her changes!
Does anyone have any advice on how I can undo my changes and go back to hers?
Unfortunately there's no tracking of layout changes so there's no way you can just revert this — are there any other developers who may have had a later copy of the metadata and haven't refreshed theirs yet?
It can be a good idea to use ANT to run a metadata backup system so that things like this don't cause problems :) There's a guide to using the Force.com Deployment Tool here, essentially you just want to use half of that process on a regular schedule.

how to index data in solr from database automatically

I have MySql database for my application. i implemented solr search and used dataimporthandler(DIH)to index data from database into solr. my question is: is there any way that if database gets updated then my solr indexes automatically gets update for new data added in the database. . It means i need not to run index process manually every time data base tables changes.If yes then please tell me how can i achieve this.
I don't think there is a possibility in Solr which lets you index the data when any updates happens to DB.
But there could be possibilities like, with the help of Triggers - there is a possibility to run an external application from triggers.
Write a CRON to trigger PHP script which does reading from the DB and indexing it in Solr. Write a trigger (which calls this script) for CRUD operation and dump it into DB, so, whenever something happens to DB, this trigger will call the above script and indexing could happen.
Please see:
Invoking a PHP script from a MySQL trigger
Automatic Scheduling:
Please see this post How can I Schedule data imports in Solr for more information on scheduling. The second answer, explains how to import using Cron.
Since you used a DataImportHandler to initially load your data into Solr... You could create a Delta Import Handler that is executed using curl from a cron job to periodically add changes in the database to the index. Also, if you need more real time updates, as #Rakesh suggested, you could use a trigger in your database and have that kick off the curl call to the Delta DIH.
you can import the data using your browser and task manager.
do the following steps on windows server...
GO to Administrative tools => task Schedular
Click "Create Task"
Now a screen of Create Task will be open with the TAB
General,Triggers,Actions,Conditions,Settings.
In the genral tab enter the task name "Solrdataimport" and in discriptions enter "Import mysql data"
Now go to Triggers tab CLick new in Setting check Daily.In Advanced setting Repeat task every ... Put time there whatever you want.click OK
Now go to Actions button click new Button IN setting put Program/Script "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" this is the installation path of chrome browser.In the Add Arguments enter http://localhost:8983/solr/#/collection1/dataimport//dataimport?command=full-import&clean=true And click OK
Using the all above process Data import will Run automatically.In case of Stop the Imort process follow the all above process just change the Program/Script "taskkill" in place of "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" under Actions Tab In arguments enter "f /im chrome.exe"
Set the triggers timing according the requirements
What you're looking for is a "delta-import", and a lot of the other posts have information about that covered. I created a Windows WPF application and service to issue commands to Solr on a recurring schedule, as using CRON jobs and Task Scheduler is a bit difficult to maintain if you have a lot of cores / environments.
https://github.com/systemidx/SolrScheduler
You basically just drop in a JSON file in a specified folder and it will use a REST client to issue the commands to Solr.

Resources