<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Using Alfresco FullText Search as Case Insensitive in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100497#M28985</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One thing to keep in mind with Alfresco searches is, that&amp;nbsp;unless an FTS query is suitable to be directly transformed to and executed by an SQL statement, all queries will handled by SOLR / Lucene and be subject to its tokenisation / word stemming rules,&amp;nbsp;which work differently then a LIKE condition in SQL. Another&amp;nbsp;thing to keep in mind is that queries may be handled quite differently depending on the locale of the search request vs. the locale of the document on which the metadata resides - the metadta on the document will be tokenised / indexed using the locale stored as part of the metadata, while the query will be tokenised using the locale (implicitly) provided in the request. As a result, some fuzzy match conditions may not match (even if they should obviously do so in the user's eyes) because the locales have slightly different tokenisation / stemming rules in SOLR / Lucene.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, using the = prefix turns off fuzzy matching and case insensitivity, turning the term more into an SQL LIKE condition with asterisk playing the part of the percent wildcard. A SQL LIKE is also always case sensitive and the only way to&amp;nbsp;turn it into an insensitive query is by using value manipulation functions (like LOWER) in the condition, which you simply cannot do in FTS. If written even more restrictive (e.g. without a leading wildcard), a query with = prefix could actually be executed&amp;nbsp;directly via SQL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The query cm:title:Estima did not find any of the results you were looking for because the word stemming / tokenisation rules for English would not allow the term "Estima" to match either "Estimate" or "Estimating".&lt;/P&gt;&lt;P&gt;The query cm:title:Estimate finds both 'Estimate' and 'Estimating' because the word stemming / tokenisation rules for English cause the term "Estimate" to matche words&amp;nbsp;based on "Estimate" using common English word derivation rules, for which "Estima" was insufficient.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you would use the query cm:title:Estima* it should work like you want it to, as this will add "begins-with" condition rule to&amp;nbsp;the basic stemming / tokenisation evaluations.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Jul 2019 08:07:20 GMT</pubDate>
    <dc:creator>afaust</dc:creator>
    <dc:date>2019-07-10T08:07:20Z</dc:date>
    <item>
      <title>Using Alfresco FullText Search as Case Insensitive</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100496#M28984</link>
      <description>Greetings, my apologies in advance as I am more of a SQL Developer, and I am not that experienced with the Alfresco API. But I have been trying to solve this, and haven't gotten very far. We are on version 5.2.2.We have some files with words in titles like "Estimating" and "Estimate".&amp;nbsp;&amp;nbsp;Currently the</description>
      <pubDate>Tue, 09 Jul 2019 15:12:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100496#M28984</guid>
      <dc:creator>cyong</dc:creator>
      <dc:date>2019-07-09T15:12:42Z</dc:date>
    </item>
    <item>
      <title>Re: Using Alfresco FullText Search as Case Insensitive</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100497#M28985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One thing to keep in mind with Alfresco searches is, that&amp;nbsp;unless an FTS query is suitable to be directly transformed to and executed by an SQL statement, all queries will handled by SOLR / Lucene and be subject to its tokenisation / word stemming rules,&amp;nbsp;which work differently then a LIKE condition in SQL. Another&amp;nbsp;thing to keep in mind is that queries may be handled quite differently depending on the locale of the search request vs. the locale of the document on which the metadata resides - the metadta on the document will be tokenised / indexed using the locale stored as part of the metadata, while the query will be tokenised using the locale (implicitly) provided in the request. As a result, some fuzzy match conditions may not match (even if they should obviously do so in the user's eyes) because the locales have slightly different tokenisation / stemming rules in SOLR / Lucene.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, using the = prefix turns off fuzzy matching and case insensitivity, turning the term more into an SQL LIKE condition with asterisk playing the part of the percent wildcard. A SQL LIKE is also always case sensitive and the only way to&amp;nbsp;turn it into an insensitive query is by using value manipulation functions (like LOWER) in the condition, which you simply cannot do in FTS. If written even more restrictive (e.g. without a leading wildcard), a query with = prefix could actually be executed&amp;nbsp;directly via SQL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The query cm:title:Estima did not find any of the results you were looking for because the word stemming / tokenisation rules for English would not allow the term "Estima" to match either "Estimate" or "Estimating".&lt;/P&gt;&lt;P&gt;The query cm:title:Estimate finds both 'Estimate' and 'Estimating' because the word stemming / tokenisation rules for English cause the term "Estimate" to matche words&amp;nbsp;based on "Estimate" using common English word derivation rules, for which "Estima" was insufficient.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you would use the query cm:title:Estima* it should work like you want it to, as this will add "begins-with" condition rule to&amp;nbsp;the basic stemming / tokenisation evaluations.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2019 08:07:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100497#M28985</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2019-07-10T08:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: Using Alfresco FullText Search as Case Insensitive</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100498#M28986</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hmmm, I think I understand what you are saying about the word stemming and tokenisation. However I confirmed that the documents are in english (as indicated by sys:locale property), as is the search API request. Yet, when I search for&amp;nbsp;cm:title:estima* (lowercase) I am unable to find the documents that start with Estima.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reading&amp;nbsp;&lt;A href="https://github.com/Alfresco/alfresco-repository/blob/af2e069b2eabcd5433cee39d83ec06bad6fc69a0/src/main/resources/alfresco/model/contentModel.xml" rel="nofollow noopener noreferrer"&gt;https://github.com/Alfresco/alfresco-repository/blob/af2e069b2eabcd5433cee39d83ec06bad6fc69a0/src/main/resources/alfresco/model/contentModel.xml&lt;/A&gt;&amp;nbsp;it looks like the 5.2 cm:title field should be tokenized?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Jul 2019 13:21:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/using-alfresco-fulltext-search-as-case-insensitive/m-p/100498#M28986</guid>
      <dc:creator>cyong</dc:creator>
      <dc:date>2019-07-11T13:21:31Z</dc:date>
    </item>
  </channel>
</rss>

