• Webinars
  • Docs
  • Download
  • Blogs
  • Contact Us
Try Free
Show / Hide Table of Contents

Configure JSON Query Indexes

JSON (Javascript Object Notation) is an open standard file format and data interchange format. It consists of attribute value pairs which are in human readable format. NCache allows your to specify attributes that need to be indexed within a JSON document. These attributes can be configured in the following ways:

Add JSON Query Indexes

Using NCache Web Manager

  • Launch NCache Web Manager by browsing to http://localhost:8251 (Windows) or <server-ip>:8251 (Windows + Linux).

  • In the left navigation bar, click on Clustered Caches or Local Caches, based on the cache to which the query index will be added. Against the cache name, click on View Details.

Note

Make sure the cache is stopped

Cache View Details

  • This opens up the detailed configuration page for the cache. Go to the Advanced Settings tab and click on Query Indexes in the left bar.

  • This opens up the Query Indexes page, click on Add.

Select Classes Web

  • In the next page, select the JSON file which contains the classes that you want to store in cache for querying by clicking on the Browse button.

  • In the Selected Assemblies box, all serialized classes are displayed. Check the ones you want to index, and click on Add Selected Classes.

Important

Make sure the $Index_Class$ attribute in your JSON file is defined. You should assign the FQN of your class as a value to this attribute

Add Json Classes

  • The added classes will be displayed in the list of selected classes. Here you can select the attributes which you want to index. Their type is also parsed from the JSON file but, you also have the option to assign your attributes a different type from the dropdown menu placed next to them.

JSON query index selected attributes

  • You can also remove any classes from the List of selected classes by clicking on the Remove Selected Classes button.

  • Once you are done, click on the OK button.

Save Changes

  • The added query indexes will be displayed in the Query Indexes page. Click on Save Changes to apply this configuration to the cache.

Using PowerShell

Add-QueryIndex cmdlet enables the user to add query indexes for the objects to be added in the cache.

The following command adds productID, productName, category, isContinued, unitsInStock and unitPrice attributes from the class Data.Product in query indexes for demoClusteredCache.

Add-QueryIndex demoClusteredCache -AssemblyPath C:\product.json -Class Data.Product -Attributes productID'$'productName'$'category'$'isContinued'$'unitsInStock'$'unitPrice

Manually Editing NCache Configuration

Important

Make sure the cache is stopped before making any configuration changes.

  • Specify the query indexes through config.ncconf by adding the <query-indexes> and <query-class> tag under the <cache-settings> tag. The following example adds attributes of a class Product as indexes:
<cache-settings ...>
    <query-indexes>
        <query-class id="Data.Product" name="Data.Product">
            <query-attributes id="unitPrice" name="unitPrice" data-type="System.Int32"/>
            <query-attributes id="unitsInStock" name="unitsInStock" data-type="System.Int32"/>
            <query-attributes id="productID" name="productID" data-type="System.Int32"/>
            <query-attributes id="productName" name="productName" data-type="System.String"/>
            <query-attributes id="category" name="category" data-type="System.String"/>
            <query-attributes id="isContinued" name="isContinued" data-type="System.Boolean"/>
        </query-class>
    </query-indexes> 
</cache-settings>
  • Once changes are made, start the cache and restart NCache service.

Removing JSON Query Indexes

Pre-defined query indexes can be removed by the user using the following steps.

Using NCache Web Manager

  • Launch NCache Web Manager by browsing to http://localhost:8251 (Windows) or <server-ip>:8251 (Windows + Linux).

  • In the left navigation bar, click on Clustered Caches or Local Caches, based on the cache to which the query index will be added. Against the cache name, click on View Details.

Remove Query Indexes Web

  • This opens up the detailed configuration page for the cache. Go to the Advanced Settings tab and click on Query Indexes in the left bar.

  • This opens up the Query Indexes page which shows existing classes for query indexes.

  • Select the classes to remove and click on Remove.

Remove JSON Query Indexes

  • Click on Save Changes to apply this configuration to the cache.

Using PowerShell

Remove-QueryIndex cmdlet enables the user to remove pre-defined query indexes for the objects to be added in the cache.

The following command removes query indexing for the class Product from the cache demoClusteredCache.

Remove-QueryIndex -CacheName demoClusteredCache -Class Data.Product

See Also

Configure Caches
Configure Query Indexes
Configure Lucene Query Indexes

Back to top Copyright © 2017 Alachisoft