Re: Default Lucene index for String cache values

2021-06-07 Thread Vladimir Pligin
Hi guys, I've checked that a text index is being created only if a user specifies indexedTypes (or something similar). It would be nice to give users an option to avoid this behaviour as it's technically a workaround because it's not possible to somehow specify the @QueryTextField annotation on a

Re: Default Lucene index for String cache values

2021-06-03 Thread Ilya Korol
I've got your point Val, thanks. At least we can consider this issue during Ignite 3 development. 03.06.2021 19:10, Valentin Kulichenko пишет: Folks, This is a usability issue of the current API, which I don't think we can easily fix right now without breaking compatibility. There are two sep

Re: Default Lucene index for String cache values

2021-06-03 Thread Valentin Kulichenko
Folks, This is a usability issue of the current API, which I don't think we can easily fix right now without breaking compatibility. There are two separate cases. First - the value class is a user's POJO. This one is straightforward - we analyze annotations and create indexes based on that. The

Re: Default Lucene index for String cache values

2021-06-03 Thread Maksim Timonin
Hi, Ilya. Could you please provide a reproducer of wrong behavior? Looks like I'm missing smth in your idea. There is my code [1] with String class as value, and TextQuery works correctly without the annotation QueryTextField. And I expect this behavior. > case of plane strings as cache values (i

Re: Default Lucene index for String cache values

2021-06-03 Thread Ilya Korol
Thanks for feedback Maksim, but let me disagree with you. As far as i understand CacheConfiguration.setIndexedTypes(Long.class, String.class); Is just the hint for Ignite about data that should be indexed, but what kind of index should be created depends on our configuration. For example: pu

Re: Default Lucene index for String cache values

2021-06-02 Thread Maksim Timonin
Hi, Ilya! AFAIK, to create LuceneIndex it's required to do this: CacheConfiguration.setIndexedTypes(Long.class, String.class); It's pretty straightforward, a user wants the value class to be indexed. If you just create a simple cache (without entities, indexed types) with String.class as value it

Default Lucene index for String cache values

2021-06-02 Thread Ilya Korol
Hi, All. According to https://issues.apache.org/jira/browse/IGNITE-14805 there is default index creation for caches with String values: if (type().valueClass() == String.class) {     try {     luceneIdx = new GridLuceneIndex(idx.kernalContext(), tbl.cacheName(), type);     }     catch (