• Facebook
  • Twitter
  • Youtube
  • LinedIn
  • RSS
  • Docs
  • Comparisons
  • Blogs
  • Download
  • Contact Us
Download
Show / Hide Table of Contents

Configure Query Indexes

Indexes are used in querying for efficiency, they are based on the type of a class. However, the user can further specify the attributes of the class on which indexes are required. Query Indexes can be configured in the following ways.

Important

For .NET, before deploying your .dll files, ensure you have the appropriate .NET Version installed as discussed in the NCache Installation Guide.

Define Query Indexes

You will need to define query indexes on the cache to perform operations on them. This can be done in the following ways:

Using the NCache Management Center

  • Launch the NCache Management Center by browsing to http://localhost:8251 or <server-ip>:8251 on Windows and 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. Make sure that the cache is stopped.

Define Query Indexes Web

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

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

Select Classes Web

  • On the next page, select the assembly that contains the classes that you want to store in the cache for query by clicking on the Browse button.

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

Note

The NCache Management Center displays all attributes and properties of selected classes.

Add Classes Web

  • The added classes along with their attributes will be displayed in the List of selected classes. You can uncheck class attributes if you don't want to index them. You can also remove selected classes by clicking on Remove Selected Classes.

Add Classes Web

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

Using Command Line Tools

The Add QueryIndex cmdlet enables the user to add query indexes for the objects to be added to the cache. The following command adds Id, Name, Category, UnitsAvailable, and UnitPrice attributes from the class Alachisoft.NCache.Sample.Data.Customer in query indexes for demoCache.

  • Windows
  • Linux
Add-QueryIndex -CacheName demoCache -AssemblyPath C:\Data.dll -Type Data.Customer -Attributes "Id'$'Name'$'Category'$'UnitsAvailable'$'UnitPrice"
add-queryindex -cachename demoCache -assemblypath /usr/Data.dll -type Data.Customer -attributes "Id'$'Name'$'Category'$'UnitsAvailable'$'UnitPrice"

Manually Editing NCache Configuration

You can also manually edit the NCache configuration to configure query indexes as explained below.

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> tags under the <cache-settings> tag. The following example adds attributes of two classes, Product and Customer, as indexes:
<cache-settings ...>
  <query-indexes>
    <query-class id="Alachisoft.NCache.Sample.Data.Customer" name="Alachisoft.NCache.Sample.Data.Customer">
      <query-attributes id="CustomerID" name="CustomerID" data-type="System.String"/>
      <query-attributes id="ContactName" name="ContactName" data-type="System.String"/>
      <query-attributes id="CompanyName" name="CompanyName" data-type="System.String"/>
      <query-attributes id="Fax" name="Fax" data-type="System.String"/>
    </query-class>
    <query-class id="Alachisoft.NCache.Sample.Data.Product" name="Alachisoft.NCache.Sample.Data.Product">
      <query-attributes id="UnitPrice" name="UnitPrice" data-type="System.Decimal"/>
      <query-attributes id="UnitsAvailable" name="UnitsAvailable" data-type="System.Int32"/>
      <query-attributes id="Name" name="Name" data-type="System.String"/>
      <query-attributes id="Category" name="Category" data-type="System.String"/>
      <query-attributes id="Id" name="Id" data-type="System.Int32"/>
    </query-class>
  </query-indexes>
...
</cache-settings>
  • Once changes are made, restart the NCache Service, and start your cache.

Removing Query Indexes

Pre-defined query indexes can be removed as explained below.

Using the NCache Management Center

  • Launch the NCache Management Center by browsing to http://localhost:8251 or <server-ip>:8251 on Windows and Linux.

  • In the left navigation bar, click on Clustered Caches or Local Caches from which you want to remove the configured query indexes. 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 or attributes you want to remove and click on Remove.

Query Indexes Removed Web

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

Using Command Line

The Remove QueryIndex cmdlet enables the user to remove pre-defined query indexes for the objects to be added to the cache. The following command removes query indexing for the class Customer from the cache demoCache.

  • Windows
  • Linux
Remove-QueryIndex -CacheName demoCache -Class Alachisoft.NCache.Sample.Data.Customer
remove-queryindex -cachename demoCache -class Alachisoft.NCache.Sample.Data.Customer

See Also

Create a Cache
Remove Cache
Remove Server Node
Add Test Data

Contact Us

PHONE

+1 (214) 764-6933   (US)

+44 20 7993 8327   (UK)

 
EMAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • NCache Enterprise
  • NCache Community
  • Edition Comparison
  • NCache Architecture
  • Benchmarks
Download
Pricing
Try Playground

Deployments
  • Cloud (SaaS & Software)
  • On-Premises
  • Kubernetes
  • Docker
Technical Use Cases
  • ASP.NET Sessions
  • ASP.NET Core Sessions
  • Pub/Sub Messaging
  • Real-Time ASP.NET SignalR
  • Internet of Things (IoT)
  • NoSQL Database
  • Stream Processing
  • Microservices
Resources
  • Magazine Articles
  • Third-Party Articles
  • Articles
  • Videos
  • Whitepapers
  • Shows
  • Talks
  • Blogs
  • Docs
Customer Case Studies
  • Testimonials
  • Customers
Support
  • Schedule a Demo
  • Forum (Google Groups)
  • Tips
Company
  • Leadership
  • Partners
  • News
  • Events
  • Careers
Contact Us

  • EnglishChinese (Simplified)FrenchGermanItalianJapaneseKoreanPortugueseSpanish

  • Contact Us
  •  
  • Sitemap
  •  
  • Terms of Use
  •  
  • Privacy Policy
© Copyright Alachisoft 2002 - . All rights reserved. NCache is a registered trademark of Diyatech Corp.
Back to top