I am trying to understand how Azure Search Service works. If you have a comma delimited file that contains 4 fields, do you have to create an Index that contains all four fields? If you don't care about one of the fields in the comma delimited file, can you just not include it in the Index definition? When you upload the data (using code) will Azure Search Service just ignore the additional field, throw an error, or create a new field in the index?
If you have a comma delimited file that contains 4 fields, do you have
to create an Index that contains all four fields?
Not really.
If you don't care about one of the fields in the comma delimited file,
can you just not include it in the Index definition?
Yes, you can certainly do that. If you really don't care about the field then you can simply skip that field during the import process. You don't really have to create a field for that as well.
Yet another option would be to include the field and set its attribute in such a way that you are not able to perform any searches on that field. For example, you can set this field's searchable and filterable attributes to false but set retrievable attribute to true so that you can at least see this in your search results. More about field attributes can be found here: https://learn.microsoft.com/en-us/rest/api/searchservice/create-index#bkmk_indexAttrib.
Related
I want to be able to also search by specific field when i search in the search box.
Solr already has a 'text' field that is used by default and this field also covers other fields (e.g. title, notes, tags). It works when I query in Solr without specifying any fields. But when I search without specifying a field in the CKAN search box, it doesn't work.
This is exactly what I want:
When I type "example" directly instead of "title:example", I want it to automatically search in the fields specified in the CKAN schema.
You should have enabled datastore extension to perform full text search
q (string or dictionary) – full text query. If it’s a string, it’ll
search on all fields on each row. If it’s a dictionary as {“key1”:
“a”, “key2”: “b”}, it’ll search on each specific field (optional)
https://docs.ckan.org/en/2.9/maintaining/datastore.html#ckanext.datastore.logic.action.datastore_search
I have application which has solr search facility. When i query for search result comes only fields which has the values. How to get the result with empty field values in solr? How to get all the fields in result even though the value of a field is empty?
Only the fields present is stored with each document, so if you want to keep empty fields actually available, you'll have to explicitly index empty content into the field. How you do that depends on how you're indexing documents to Solr today.
You can work around this by fetching the schema for the core / collection you're querying first, retrieve the field names and adding empty fields for each field present in the schema, if necessary.
It'll probably be easier to assume that missing fields are empty, and wrap your code in a check to see if the field is present, and if not, return an empty value instead.
The reason for this is that while Solr uses a schema, the underlying Lucene library does not - any document can contain a set of field names unrelated to the other documents present in the index. Since the schema can change independent of the content of the index as well (a schema change will not update existing documents), returning non-existing fields isn't straight forward - and for most cases the document returned should be as close to possible to what was actually indexed.
I have a PDF417 barcode that contains multiple values delimited by a semicolon. How can I get Kofax 10 to read those values as two separate index fields? I've created my index zone:
Is this done only through a script, or is there some setting I can use?
Any help would be greatly appreciated.
Thanks,
Jason
You read the code into a field (no need to assign it to two fields). Create a document validation script that gets the value of the field during the Document PreProcess event and copies the required parts to the fields of your choice. You need to use the Validation module in this case.
I'm trying to query against a SharePoint List using KQL including some properties of that list that have a space in their names.
Example:
Src State:"WA" Prod Id:"X12" SomeFreeText PATH:http://server/sites/items/New%20Items/*
The free-text filter works as expected when alone, but returns nothing when including those property filters, such as "Src State".
I assume that is a problem with the space in the name. So, I've tried changing the space to "%20" and to "x0020" and even enclosing the property name between quotes (single and double), but not results found!
What I'm missing?
If you want to run a KQL search on list it's a little bit more complex than just using the column name. KQL is a part of Search Service and the columns have to become managed properties. Managed property names cannot contain spaces. SharePoint automatically creates managed properties from site columns, but if the column is directly added to list (and not as a site column), then you have to create managed property manually in Search Administration.
So if the columns are site columns, then there is a specific naming convention on how the managed property names are created (https://technet.microsoft.com/en-us/library/jj613136.aspx). If "Src State" and "Prod Id" columns are simple (say Text, or Choice), then the following query should work:
SrcStateOWSTEXT:"WA" ProdIdOWSTEXT:"X12" SomeFreeText PATH:http://server/sites/items/New%20Items/*
If this doesn't work - please check the Search Schema in Search Administration whether the managed properties for these columns have been created. If not, then you will have to create them manually and ReIndex/ReCrawl list content. Instructions on how to do that are here: https://technet.microsoft.com/en-us/library/jj219667.aspx
I need to create a repeat using two fields on the same form. In other words, the repeat has to appear at the bottom of the form like we used to do with embedded views. On this repeat I have two columns. They both have the same number of entries and they need to line up. The fields are OriginalFileName and NewFileName.
On first column (OriginalFileName), each row has to become a link and the second column is just the list from the second field (NewFileName). The URL can be either the attachment as it exists on the document itself or if it has been detached, it has to become the path to where it is stored on the network. The path is also stored as a variable on the document so once it is detached, it is filled in.
First, is it possible to create a repeat using values from the document that contains the repeat?
Second, how do I write the HTML that I need to add to make the URL in either case. The path for the detached file will always be the same for all rows in the repeat, it is just the file name that changes.
If you know how many entries there are in the multivalue item then you can set the repeat's data source to be based on javascript and just return the number of times you want to repeat. If you don't know the number of items in the multivalue field then you can set the repeat's data source to be the document and field. In both cases you'll need to set the max repeat value to higher if you suspect that you'll have more then 30 entries so all can be displayed at the same time or you can add a pager pointing to the repeat component.
Accessing the data of the two fields is fairly easy, a multivalue field is just an array and you can pick out a single item of the array using a document.getItemValue("fieldName")[arrayIndex]. To know what array index your on in the repeat there is a configuration field for 'Repeat Index' where you can type in a variable name, just use that variable name for arrayIndex.
Now it is just a case of building your table or list in the repeat and adding in link and computed text controls that use the arrayIndex to get their values.