Xpages search view with exact matches - xpages

I am searching on an Xpage and the first column have these 4 values:
NAP
NAP/IFI
NVO
NVO Domestic
You probably see the problem. If a user searches for "NAP" they get both "NAP" and "NAP/IFI" as the = operator is really a CONTAINS! I didn't know that. In most universes = means exact match, not contains, but it is what it is.
The question is there any workaround for this?

You can set the Property searchExactMatch to the ViewPanel for ftsearches.

Related

KQL - Ignoring items with property not equal to value

I have to configure the site search so that it does not include items wich have a property of ModerationStatus != 1. I found out that using a query like ModerationStatus <> 1 can probably solve my problem, but I am not sure if it will work in my environment since not all possible search items have this property of ModerationStatus. Can someone show me an example query that might work in such case? I am kinda new to KQL.
So I think I figured it out. I'd have to white two queries combined like this:
(ContentTypeId: 'ContentType that has ModerationStatus' ModerationStatus <> 1) OR (ContentTypeId <> 'ContentType that has ModerationStatus')
I apologize for the dumb question.

Xrm.Page.getAttribute("").getValue() don't get actual value

I have a custom entity in CRM 2011 with a Closure Code(drop down list) and Solution(multiple lines text) fields.
Is weird what is happening, and this is that the next sentence, is not getting the actual field value:
var detailsSet = Xrm.Page.getAttribute("aux_solution").getValue();
Why this could happen?
As explained in the comments, my problem was that the field wasn't taking the actual value because the focus was on it. Moving to another field before checking the values is how I solve this. I hope could help someone.
That is because the object model does not get refreshed data while you have focus on the field. If you want to get the value without having to click outside you need to use the good old document.getElementById .
If it is an option set, you should use eiter getSelectedOption() or getText()
so try
var detailsSet = Xrm.Page.getAttribute("aux_solution").getText();
For more details refer this

xPages #DbLookup issue

I have this code in several repeat controls and computed values
#Unique(#DbLookup(database,view,key,columnnumber))
I can see that if "columnnumber" is a categorized column then DbLookup only return first Category.
Today my solution is create another view with this column Uncategorized, but this is bad solution for my customer, and more work for me.
Somebody knows if this is a bug? or is there another solution?
I have Lotus Domino 8.5.3 UP1 and same designer
Thanks a lot,
You can get the view entries this way:
var vc:NotesViewEntryCollection = database.getView("view").getAllEntriesByKey(key, true);
Then you can loop the collection with:
var ve:NotesViewEntry = vc.getFirstEntry();
ve = vc.getNextEntry();
In the loop, get the column value with:
ve.getColumnValues();
My understanding is that this will perform better than #DbLookup which - I believe - has similar code underlying it. Fastest way to loop a view is to use a ViewNavigator as Fredrik suggested:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Fast_Retrieval_of_View_Data_Using_the_ViewNavigator_Cache
Try using #DbColumn instead or a viewnavigator.

Alternative methods to search, without using FT Search

I am currently using the 'search in view results' option in the view control to provide the data set for my view (the reason for this is that the data set to be displayed is fairly complex depending on the user - and I was not able to accomplish this using vector filtering).
The problem I have with it, is that the search is a FT search, and that it does not let you search where a field is an exact match on a string, but rather it does a search where the field contains your string.
Does anyone know of an method where I can search the view for exact data?
Thanks in advance.
A
If your database is not too big you could use a database.search. It uses an #Formula to get the documents. It might be by a magnitude slower than FT Search
Take a look at this code http://openntf.org/XSnippets.nsf/snippet.xsp?id=build-a-search-query I think it could help you do what you are looking for.
Based on what you want to do, a better option is to create a hidden view with the columns you need to match on. Then search on that view rather then an FTI search.

How to implement faceted search suggestion with number of relevant items in Solr?

Hi
I have a very specific need in my company for the system's search engine, and I can't seem to find a solution.
We have a SOLR index of items, all of them have the same fields, with one of the fields being "Type", (And ofcourse, "Title", "Text", and so on).
What I need is: I get an Item Type and a Query String, and I need to return a list of search suggestion with each also saying how meny items of the correct type will that suggested string return.
Something like, if the original string is "goo" I'll get
Goo 10
Google 52
Goolag 2
and so on.
now, How do I do it?
I don't want to re-query SOLR for each different suggestion, but if there is no other way, I just might.
Thanks in advance
you can try edge n-gram tokenization
http://search.lucidimagination.com/search/document/CDRG_ch05_5.5.6
You can try facets. Take a look at my more detailed description ('Autocompletion').
This was implemented at http://jetwick.com with Solr ... now using ElasticSearch but the Solr sources are still available and the idea is also the identical https://github.com/karussell/Jetwick
The SpellCheckComponent of Solr (that gives the suggestions) have extended results that can give the frequency of every suggestion in the index - http://wiki.apache.org/solr/SpellCheckComponent#Extended_Results.
However, the .Net component SolrNet, does not currently seem to support the extendedResults option: "All of the SpellCheckComponent parameters are supported, except for the extendedResults option" - http://code.google.com/p/solrnet/wiki/SpellChecking.
This is implemented using a facet field query with a Prefix set. You can test this using the xml handler like this:
http://localhost:8983/solr/select/?rows=0&facet=true&facet.field=type&f.type.prefix=goo

Resources